ループ内の値をチェックする

私は配列を繰り返しています:

  @fileArray.each() {
    |x|

  }

x という値にアクセスして、特定の文字列で始まるかどうかを確認するにはどうすればよいですか?

0

3 答え

test = ['abc', 'bcef', 'abcdef']

p test.select{|word| word.start_with?('abc')}
#=> ["abc", "abcdef"]
# or the very short:
test.grep(/^abc/)
#=> ["abc", "abcdef"]
8
追加された
+1 for start_with?私はそれを覚えておく必要があります。将来の読者がそのメソッドのドキュメントソースを追加した場合に役立ちます。 ( ruby​​-doc.org/core -1.9.2/String.html#method-i-start_with-3F
追加された 著者 Gazler,

これはトリックを行うようだ!

test = ['abc', 'bcabcef', 'abcdef']

test.each do |x| 
  if x.match(/^abc/)
    puts x
  end 
end

出力:

abc
abcdef
2
追加された

選択することができます。

["a","ab","b","ac","c"].select{|x| x[0] == "a"}
 => ["a", "ab", "ac"] 

もしそうでなければ、あなたはやることができます

x[0..5] == "String"
0
追加された