Menu
Coddy logo textTech

文字列の反復処理

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"]
challenge icon

チャレンジ

簡単

入力を1行読み込みます。そこに含まれる母音(aeiou、大文字小文字を区別しない)の数を数え、次のように出力してください:

Vowels: <count>

入力が Hello Ruby の場合、出力は Vowels: 3 となります:eou。(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}"
end

chars を使用して、文字列を文字の配列に変換します:

"ruby".chars  # ["r", "u", "b", "y"]

自分で試してみよう

input = gets.chomp
count = 0

# TODO: 各文字をループ処理して母音をカウントする

puts "Vowels: #{count}"
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン