コードを書いてて良く、ストリング書きたいけど文字列内に大量に 「"」 や 「'」 が入り混じってて、いちいちエスケープしたくないけど、書き方忘れた。名前なんだっけ?って思う時があったので、メモ代わりにかいておく。
良く使うのがヒアドキュメントと%記法なんですが、名前がいつも浮かばない。
パーセント記法
# とりあえず単純にストリングを書きたい
# %の後に特定の文字で囲むと、その間の文字列をStringとして認識してくれるみたい。ダブルクオートの代わり
str1 = %!This is a string.!
str2 = %{"And you can do this too!"}
str3 = %[Also stuff like #{1 + 1}] # => "Also stuff like 2"
さらにいくつか特殊(?)なケースもあるみたい
# %q でシングルクオートの代わり
str3 = %[Also stuff like #{1 + 1}] # => "Also stuff like \#{1 + 1}"
# %r で正規表現
regex1 = %r!^\/[a-z0-1]+\/$!
regex1 =~ '/hoge234' # => nil
regex1 =~ '/hogeA/' # => nil
regex1 =~ '/hoge234/' # => 0
ヒアドキュメント
ヒアドキュメントも結構使うのでメモっておく
# <<の後に、ヒアドキュメント開始タグを書いて、最後に同じタグで閉じると、その間がStringとして保存される。
str = <<EOS
<html>
<head>
</head>
<body>
</body>
</html>
EOS
# でも、こうするとエラーになる。閉じタグはちゃんと左端にないとダメなのね。
str = <<EOS
<html>
<head>
</head>
<body>
</body>
</html>
EOS
# しかもmarkdownのシンタックスでもエラーになってるみたいですね。カッコ悪い。
# 「<<」の代わりに、「<<-」にすると動いたりする
str = <<-EOS
<html>
<head>
</head>
<body>
</body>
</html>
EOS
とりあえず、パっと思いつくのはこれくらい。後は「パーセント記法」とか「ヒアドキュメント」と言う名前が思い出せればググってます。(そこに辿り着くまでが長い)