私は配列を持っています:
example = ['foo', 'bar', 'quux']
私はそれを繰り返して印刷したいので、次のようになります: foo bar quux
、or['foo', 'bar', 'quux']
を使用した場合はそうではありません。each
for
注:example[0];example[1]
配列の長さが可変であるため、単に行うことはできません。
どうすればいいですか?
ここ:
puts array.join(' ') # The string contains one space
example.join(" ") #=> foo bar quux.
each
以前は印刷していた場合は、正常に機能します。
example.each {|item| print item; print " " } #=> foo bar quux
ただし、必要なのがスペースで区切られた項目を含む文字列である場合、それがjoin
メソッドの目的です。
example.join(' ') #=> "foo bar quux"
あなたの問題はeach
、元の配列を返すだけなので、印刷と反復を混同していることだと思います。その中に物を印刷したい場合は、上記の例のように実際に印刷する必要があります。
それらが互いの下に印刷される可能性がある場合は、単に使用してください
puts example
=>
foo
bar
quux
それ以外の場合は、他の回答のソリューションを使用してください
puts example.join(" ")