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

PHPとRubyの式展開(interpolation)

interporlationと書きたかった。だけです。

PHP

$name = "太朗";
echo "私の名前は、$nameです";

これだと、変数の後ろがアルファベットだと$namedesu になりわけわからない。

$name = "次郎";
echo "私の名前は、${name}です";

Ruby

Railsチュートリアル第4章から

>> first_name = "Michael"    # 変数の代入
=> "Michael"
>> "#{first_name} Hartl"     # 文字列の式展開
=> "Michael Hartl"

ついで

今までPHPを書いてて文字列リテラルを"" / '' で迷う。というか既に実装されている部分が""なら"" 、''なら''で合わせていた。 しかし、上記のように式展開するとなると、基本は""だよな。と改心しました。 ''を使うのは改行コードを直接変数として利用したい時など。 以下は再度Railsチュートリアル第4章から参照

>> '#{foo} bar'     # シングルクォートで囲まれた文字列では式展開されない
=> "\#{foo} bar"

>> '\n'       # 'バックスラッシュ n' をそのまま扱う
=> "\\n"