2

私は Learn to Program という本を使っています。この本は、初心者に Ruby から始めるプログラミング方法を教えています。その男は、私の個人名 (最初のミドルネームとラストネーム) を聞いてlengthから、足し合わせて私の名前に含まれる文字数の合計を取得するプログラムを作成しようとしていると言います。私は台無しにすることなくここまで来ました:

puts 'enter your first name'
first = gets.chomp
puts 'first name is ' + first + '.'
puts 'enter your middle name.'
middle = gets.chomp
puts 'middle name is ' + middle + '.'
puts 'enter your last name.'
last = gets.chomp
puts 'last name is ' + last + '.'
puts 'Full name is ' + first + ' ' + middle + ' ' + last + '.'

だから私は次のようないくつかのことを試しました

puts 'there are ' + first.length + middle.length + last.length.to_s + 'characters in your name!'

何も機能していないようです。

4

2 に答える 2

2

二重引用符で囲まれた文字列を使用してみてください。#{} 表記を使用して Ruby にコードを評価させます。

puts "there are #{first.length + middle.length + last.length} characters in your name!"

コメントに応じて更新

本当に簡単です。ruby では、一重引用符で囲まれた文字列は、何を入力しても単なるテキストとして扱われますが、二重引用符で囲まれた文字列は Ruby インタープリターによって解析されます。したがって、 #{} 表記で二重引用符で囲まれた文字列を使用すると、中括弧内のすべてが Ruby コードとして扱われます。

元の方法を機能させるには、値を一緒に追加して別の変数に割り当て、その変数を出力してみてください

例えば

total_length = first.length + middle.length + last.length
puts 'there are ' + total_length.to_s + ' characters in your name!"

あなたのアプローチの問題は、3つの値を一緒に追加していたが、3つの値にto_sがあったため、最後の数値が文字列または数値であると想定され、前の2つの加算がそうではないかどうかについてルビーが混乱することでした。したがって、文字列は puts ステートメントに含めるべきではありません。

それが理にかなっていることを願っています

于 2012-06-21T22:13:56.943 に答える
0

あなたは近いです!

puts 'there are ' + (first.length + middle.length + last.length).to_s + 'characters in your name!'

last.length を文字列に変換してから整数に追加しようとしましたが、機能しません。角かっこは Ruby に計算を行い、結果を文字列に変換するように指示します。

于 2012-06-21T22:18:44.427 に答える