ヨージとプログラミング

プログラミング勉強の記録

【Paiza】Rubyでは文字列のeachはeach_charでまわす等

D問題を解く過程で調べたこと

文字列を1文字ずつeachする時はeach_char

word = "abcdef"
#正しい
word.each_char { |w| puts w }
# 間違い
word.each { |w| puts w }  

文字列に特定の文字が含まれているかの判定に、'in'が使えない(多分)

これはpythonとの比較でのこと
"abcdef"という文字列に、母音が含まれているか判別したい時 pythonでは"in"が使えた(多分)

word = "abcdef"
boin = ['a', 'i', 'u', 'e', 'o'] 

for w in word:
  if w in boin:
    print w

どうやらrubyではそのようなものは無いようだ(多分) しかたないので、any?とinclude?で代用

word.each_char do |w|
  unless boin.any? { |b| w.include?(b) }
    puts w
  end
end