• ベストアンサー

文字列の連結について教えて下さい。

Ruby初心者です。 文字と数字を連携させて file1 file2 file3 . . file10 としたいのですが、 s = '100' for i in 1..10 name = 'file' + i + '\n' puts name end これだとエラーが出てしまいます。 どう修正したら良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

name = 'file' + i + '\n' で文字列と整数を足し算しているのが原因です。 そのまま活かすとすると name = 'file' + i .to_s かな putsは改行文字が無ければ追加してくれます。有ったらそのまま出力します。 ただし '\n'ではなく、どうしてもつけたいなら"\n"にします。 また、name = "file#{i}" こんな書き方もできます。iを文字列に変換してくれます。 それとRubyを使う人はあまりforを使いません。私自身、実は今までforを使ったことはありません。 質問欄のプログラムは (1..10).each{|i| puts "file#{i}"} のように書く人が多い気がします。

taaaaaaa
質問者

お礼

返答ありがとうございます。 確認出来ました。 Rubyのループ処理は便利なものがあるみたいですね。 いろいろ試してみます。

関連するQ&A