文字列の反復処理
CoddyのRubyジャーニー「ロジックとフロー」セクションの一部 — レッスン 3/56。
Rubyの文字列は文字のシーケンスであり、each_charを使用して直接反復処理を行うことができます:
"ruby".each_char do |c|
puts c
end
# r
# u
# b
# yインデックスも必要な場合は、each_char.with_index を使用します:
"hi".each_char.with_index do |c, i|
puts "#{i}: #{c}"
end
# 0: h
# 1: i一度に文字の配列を取得するには、charsを呼び出します:
"ruby".chars # ["r", "u", "b", "y"]チャレンジ
簡単入力を1行読み込みます。そこに含まれる母音(a、e、i、o、u、大文字小文字を区別しない)の数を数え、次のように出力してください:
Vowels: <count>入力が Hello Ruby の場合、出力は Vowels: 3 となります:e、o、u。(y はカウントされません。)
チートシート
each_char を使用して、文字列の各文字を反復処理します:
"ruby".each_char do |c|
puts c
endインデックスも取得するには、each_char.with_index を使用します:
"hi".each_char.with_index do |c, i|
puts "#{i}: #{c}"
endchars を使用して、文字列を文字の配列に変換します:
"ruby".chars # ["r", "u", "b", "y"]自分で試してみよう
input = gets.chomp
count = 0
# TODO: 各文字をループ処理して母音をカウントする
puts "Vowels: #{count}"
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。