今回は、Rubyのパーセント記法というものについてまとめていこうと思います。
私が一番最初にパーセント記法を知った時、「これはどう便利で、いつ使うのか?」という疑問を持ちました。
Rubyを勉強し始めてパーセント記法とは何かご存知でない方に向けて、パーセント記法の使い道・どのような記法があるのかを説明していきます。
リスト形式にまとめるので、どう書くのか忘れた時のチートシートにもなるかもしれません。
目次
パーセント記法を使う理由
パーセント記法を使う理由・メリットには、以下のようなものがあります。
タイプ数を減る
パーセント記法を使うことで、タイピングする文字数が減ります。
例えば配列を書く時、通常は["a","b","c","d"]
のように書きますが、パーセント記法を使うと%w(a b c d e)
と書くことができます。
この例の場合、半分ほどのタイプ数に減らすことに成功しています。
配列だけではなく、正規表現も簡潔に書くことができます。
正規表現で、エスケープしなくてはいけないコードを書く時「\(バックスラッシュ)」を書く必要があります。しかし、パーセント記法を使うと「%r(正規表現)」と書けます。エスケープ文字を入力しないので、それだけタイピング数を減らすことができます。
可読性が増す
上記の例をご覧の通りタイプ数が減る、つまりは冗長なコードが減る。するとシンプルで見やすい・読みやすいコードとなります。
文字列をダブルクゥオート(” “)を使って表現する場合、「エスケープ文字や式展開・文字列中にシングルクォートを入れたい」など複雑な文字列を扱う時があるとしましょう。そのような場面では、パーセント記法を使った方が簡単に書けます。しかもよりシンプルで直感的なコードになるので、その後リファクタリングする際にも良い効果を発揮します。
パーセント記法リスト
ここからは、リスト形式でパーセント記法を紹介していきます。
先ほどの例で「%w()」や「%r()」とどちらも「()」をで囲むことでパーセント記法を書いていましたが、「()」を使わなければいけないということではありません。
自分の好きな記号を使うことができます。例えば、「[ ]」「* *」「! !」「{ }」「+ +」「? ?」など他にも様々な記号を使うことができます。
%・%Q:文字列
文字列を扱うことができます。ダブルクォートと同じ働きをするので、式展開が可能です。
%q:文字列
%・%Q同様文字列を扱うことができます。しかしシングルクォートと同じ働きなので、式展開ができません。
%w:配列
文字列を使った配列を作ります。式展開ができません。
%W:配列
文字列を使った配列で、こちらは式展開ができます。
%i:配列
シンボルを使った配列を作ります。式展開ができません。
%I:配列
シンボルを使った配列で、式展開ができます。
%x:コマンド出力
コマンドを実行することができます。以下の例では、echoコマンドを実行して、「Hello」という文字列を出力しています。
%s:シンボル
シンボルを扱います。式展開はされません。
%r:正規表現
正規表現を扱います。
まとめ
今回は、パーセント記法の使い方を具体的な例を交えながら説明してきました。
今後綺麗にコードを書きたいと思った時やリファクタリンスする時に、パーセント記法を使う機会がくるかもしれません。もしくは、すでにそのような状況になっているのでしょう。
そんな時「パーセント記法で配列ってどう書くんだっけ?」などと、ど忘れすることがあると思います。これは人間なのでしょうがないことです。
そこで、このチートシートを見返して「あ、そうだ。こう書くんだ!」と思い出しながら何度も何度も繰り返すことで、いつかチートシートなしでもできるようになると思います。
ど忘れしてしまった時は、ぜひ参考にしてみてください。今回も読んでいただきありがとうございました。
コメントを残す