読者です 読者をやめる 読者になる 読者になる

ぞえの技術めも

Ruby on Rails勉強中

【20日目】【1日20分のRailsチュートリアル】Rubyでのコメントの書き方と文字列の扱い方

Ruby on Railsチュートリアル(第3版)

今日は「4.2.1 コメント」から。

4.2.1 コメント

Rubyのコメントは#で記載する。
クラウドIDEではCtrl+/でカーソルのある行をコメントにできるからまぁ覚えなくても問題はないかな。。。

$ rails console
>> 17 + 42 # 数の加算
=> 59

4.2.2 文字列

文字列はダブルクォート"で囲む。
文字列の結合は+演算子で可能。

>> "foo" + "bar"
=> "foobar"

文字列を変数に割り当てて、#{}という構文を使って文字列内で展開する方法を式展開と言うそう。
第3章の演習で使ったやつ。

>> first_name = "Michael"
=> "Michael"
>> last_name = "Hartl"
=> "Hartl"
>> "#{first_name} #{last_name}" 
=> "Michael Hartl"

二つの単語の間に空白を入れるのにfirst_name + " " + last_nameと書く方法もあるけど、
式展開使った方がスマートだよね、と思う。

出力

文字列の出力によく使われるのはputs
printメソッドでも文字列を出力できるけど、末尾に改行(\n)は入れてくれないそう。

>> puts "foo" 
foo
=> nil
>> print "foo"
foo=> nil
>> print "foo\n"
foo
=> nil

シングルクォート内の文字列

シングルクォート'でも文字列を扱うことができる。
でもシングルクォートの文字列では式展開はしてくれない。

>> '#{foo} bar' 
=> "\#{foo} bar"

ダブルクォートとシングルクォートの使い分けとしては、

入力した文字をエスケープせずに「そのまま」保持するときに便利

とのこと。

#など特殊な文字をダブルクォート内に入れてそのまま出力したい場合はエスケープが必要だが、
シングルクォートではそれが必要ない。

実際、一般のソースコードでは、明確な理由もなく両者が混用されているケースをよく見かけます。

基本はダブルクォートでエスケープめんどくさいなー、ってときはシングルクォート、という使い分けかな。

Rubyでのコメントの書き方と文字列の扱い方を学習しました。 今日の作業時間は【22分】

次は「4.2.3 オブジェクトとメッセージ受け渡し」から。