アプリ版:「スタンプのみでお礼する」機能のリリースについて

Ruby初心者です。

文字と数字を連携させて

file1
file2
file3
.
.
file10

としたいのですが、


s = '100'
for i in 1..10
name = 'file' + i + '\n'
puts name
end


これだとエラーが出てしまいます。
どう修正したら良いのでしょうか?

A 回答 (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}"}

のように書く人が多い気がします。
    • good
    • 0
この回答へのお礼

返答ありがとうございます。
確認出来ました。

Rubyのループ処理は便利なものがあるみたいですね。
いろいろ試してみます。

お礼日時:2012/11/21 11:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!