2012-04-11 11 views
0

私は配列を持っている:どのように配列を印刷できますか?

example = ['foo', 'bar', 'quux'] 

私はそれを反復処理し、それは次のように出てくるので、それを印刷したい:私はeachforを使用した場合ケースだろうどの['foo', 'bar', 'quux']、ないfoo bar quux

注:配列の長さが可変であるため、example[0];example[1]などはできません。

どうすればよいですか?ここで

答えて

10

puts array.join(' ') # The string contains one space 
+3

からの溶液はまた、 ''」 '*アレイを置く使うことができ

puts example => foo bar quux 

を使用文字列で結合を実行します。 – Jonathan

+0

本当ですか?クール!それは知らなかった。 'join()'は少しはっきりしています。 – Linuxios

5
example.join(" ") #=> foo bar quux. 
1

印刷するeachを使用した場合、それが正常に動作します:

example.each {|item| print item; print " " } #=> foo bar quux 

しかし、何がしたいことは、スペースで区切られた項目の文字列がある場合それは、joinの方法が次のようなものです:

example.join(' ') #=> "foo bar quux" 

eachは元の配列を返すだけなので、繰り返し印刷するのが混乱していると思われます。上記の例のように実際に印刷する必要があります。アレイが乗算されたとき -

+0

なぜ 'print item + '''または 'print"#{item} "'? –

+0

@HunterMcMillen:私は非常に明示的なことを明示し、文字列補間のような余分な概念を導入したくないからです。匿名者は基本を強く把握しているようには見えないので、もっとコンセプトを投げたいとは思っていませんでした。 – Chuck

0

お互いの下に印刷することができる場合にだけ、さもなければ他の回答

puts example.join(" ") 
関連する問題