【チートシート】Rubyの%(パーセント)記法の使い方

Not image

今回は、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:正規表現

正規表現を扱います。

まとめ

今回は、パーセント記法の使い方を具体的な例を交えながら説明してきました。

今後綺麗にコードを書きたいと思った時やリファクタリンスする時に、パーセント記法を使う機会がくるかもしれません。もしくは、すでにそのような状況になっているのでしょう。

そんな時「パーセント記法で配列ってどう書くんだっけ?」などと、ど忘れすることがあると思います。これは人間なのでしょうがないことです。

そこで、このチートシートを見返して「あ、そうだ。こう書くんだ!」と思い出しながら何度も何度も繰り返すことで、いつかチートシートなしでもできるようになると思います。

ど忘れしてしまった時は、ぜひ参考にしてみてください。今回も読んでいただきありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です