1

コーディングの方法を学び始めたばかりで、Ruby に関する Chris Pine のチュートリアルに従っています。ファースト ネーム、ミドル ネーム、ラスト ネームの順に印刷し、最後にフル ネームで挨拶するという演習を完了しました。最後にフルネームを次のように出力したことを除いて、すべて正しく実行しましたParkerJacobsPreyer。これらの変数の出力が適切に配置されるようにするにはどうすればよいか疑問に思っていました。関連するコード行は次のとおりです。

puts 'Well it was great to meet you ' + name + middleName + lastName
4

4 に答える 4

7

加算を使用して文字列を連結する代わりに、文字列補間を使用します。

puts "Well it was great to meet you #{name} #{middleName} #{lastName}."

構文が機能するには、単一引用符 ( ) の代わりに#{variable}二重引用符 ( ) を使用する必要があることに注意してください。"'

于 2012-06-07T19:56:20.127 に答える
3

String#%は別の代替手段になります。

puts "Well it was great to meet you %s %s %s." % [name, middleName, lastName]
于 2012-06-07T20:05:17.250 に答える
2

いくつかの方法があります。文字列補間をまだ行っていない場合、最も簡単な方法は次のとおりです。

puts 'Well it was great to meet you ' + name + ' ' + middleName + ' ' + lastName
于 2012-06-07T19:56:36.480 に答える
0

徹底している場合は、次のこともできます。

first_name, middle_name, last_name = %w[John Q. Public]
msg = "It was great to meet you, %s %s %s.\n"
printf msg, first_name, middle_name, last_name

ばかげたことをしたい場合は、これを行うこともできます。

'It was great to meet you, ' << %w[John Q. Public].join(' ') + '.'

Ruby の優れた点は、機能的には同等で意味的に異なるさまざまな式を使用できることです。これにより、より高いレベルで意図を表現できるようになります。

于 2012-06-07T21:05:49.817 に答える