3

私のアプローチ

  • スペースやコンマなどの区切り文字を含む文字列として配列要素を取得します
  • 文字列を分割する
  • 各要素を数値に変換し、配列にプッシュします

コードは次のようになります。

puts 'Enter array elements with a space'
array_as_string = gets 
if array_as_string.length > 0
  input_array = []
  array_as_string.split(' ').each { |x| input_array.push(x.to_i) }
else
  puts 'Invalid input'
end

これを行うためのより良い/効率的な代替手段または簡単な方法はありますか?

4

1 に答える 1

4

のデフォルトの引数splitは空白です。配列内のすべての要素に対して何かを実行し、結果として配列を取得するイディオムはですmap

puts "Enter array elements with a space"
array_as_string = gets
array = array_as_string.split.map(&:to_i)
于 2012-05-26T13:01:39.213 に答える