Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

Rubyのコメントは5種類ある!それぞれの書き方と正しい使い方

Rubyのコメントとは?

Rubyにおけるコメントとは、コードに補足情報を加えるためのもので、将来の自分や他の開発者にとって役立つメモとして機能します。

最もよく使われるのが「1行コメント」です。

基本の書き方はこちら

# りんごとオレンジが好き

押さえておきたい3つのポイント

  1. コメントはシャープ記号(#)から始まる
  2. 読みやすさのため、#の後ろに半角スペースを1つ入れるのが一般的
  3. コメント内の内容は、コードのように見えても一切実行されない。これを利用すれば、コードを一時的に無効化する「コメントアウト」も可能

1行コメントは単独で使うこともできますし、コード行の末尾に続けて書く「インラインコメント」としても使えます。

たとえばこんな感じです

[].size # 配列のサイズを取得

では、コメントには他の種類もあるのでしょうか?

はい。マジックコメント・複数行コメント・ERBコメントなどがあります。

それでは、ひとつずつ詳しく見ていきましょう!

Rubyで複数行コメントを使う方法

Rubyで複数行のコメントを書く場合、通常の1行コメントを複数行にわたって並べるのが一般的です。

「ブロックコメント」と呼ばれることもあります。

具体例

# aaa
# bbb
# ccc

これが、Rubyでコードのブロックを丸ごとコメントアウトする基本的な方法です。

最近のコードエディタなら、コードを選択してキーボードショートカット一発でまとめてコメント化できるので、手間はほとんどありません。

ただし、Rubyには専用の複数行コメント構文も存在します。

次のようなものです

=begin
これはコメントです...
a
b
c
=end

実際にこの構文を使っている人はほとんどいません…。

見た目が美しくない上に、メソッドの中などインデントされた箇所では使えないという制約もあります。ただ、実際のコードベースで見かけたときに慌てないよう、存在だけは知っておくと良いでしょう。

シバン(Shebang)コメント

シバン(#!)は、Unixシェル(bashなど)に対して「このファイルをどう解釈・実行すべきか」を伝えるための特殊なコメントです。

ファイルの先頭にこのコメントを書いておくと…

適切な実行権限があれば、Rubyファイルを実行可能ファイルとして直接実行できるようになります。

シバンコメントは次のように書きます:

#!/usr/bin/env ruby

さらに、警告オプションなどのコマンドラインオプションを指定することもできます。

#!/usr/bin/env ruby -w

こうしておけば、実行するたびに自動的にこれらのオプションが適用されるので、毎回手動で指定する必要がありません。

マジックコメントの使い方

マジックコメントは、Rubyインタプリタの動作を何らかの形で変更する特別なコメントです。

たとえば

frozen_string_literalというマジックコメントを書くと、文字列リテラルがデフォルトで凍結(frozen)されます。

書き方はこうです

# frozen_string_literal: true

また、ファイルのエンコーディングを指定するマジックコメントもあります。

# encoding: utf-8

そして少し変わったものとしては、warn_indentコメントがあります:

# warn_indent: true

これを書いておくと、インデントが不正な場合に警告を表示してくれます。

たとえば次のようなコード

def comments
  end

これを実行すると、次のような警告が出ます

warning: mismatched indentations at 'end' with 'def' at 3

ERBコメント

RailsのビューでERBを使っていて、コメントを入れたい場合は次の構文を使います:

<%# ERBコメント %>

筆者はあまりこの方法を好みません。ビューにはロジックを持たせないべきだと考えているため、そもそもコメントが必要になる場面自体が少ないはずだからです。

デバッグ目的で一時的にコードを無効化したいのであれば、そのコードは削除して、Gitなど使用中のバージョン管理システムを信頼しましょう。

まとめ

今回は、通常のコメント(#)、シバンコメント(#!)、マジックコメント(# frozen_string_literal: true)、複数行コメント、ERBコメントといった、5種類のRubyコメントについて学びました!

この記事が役に立ったと思ったら、ぜひ友人にもシェアしてみてください。

最後までお読みいただきありがとうございました!


  1. Rubyのマトリックス(行列)とは?配列・Matrixクラス・Daruを使いこなす完全ガイド

    マトリックス(行列)とは、表計算ソフトのようなデータを格納・操作するための2次元(2D)配列のことです。 マトリックスが活躍する場面: チェスやオセロなど、テーブルゲームの盤面を表現する 統計処理やデータ分析を行う グラフやプロットを生成する マトリックスは非常に強力なデータ構造なので、その使い方をマスターしておくと開発の幅が大きく広がります。この記事では、Rubyでマトリックスを扱う3つの方法——配列、Matrixクラス、そしてDaru gem——を順番に解説していきます。 Rubyでマトリックスを作成する方法 最もシンプルな方法は、配列の入れ子(ネスト)を使ってマトリックスを作ることで

  2. RubyのStructとOpenStructの使い方を徹底解説!値オブジェクトを簡単に作る方法

    Rubyには、関連する属性をまとめて保持する「値オブジェクト」を手軽に作れるStructという組み込みクラスが用意されています。本記事では、Structの基本的な使い方から注意点、そしてOpenStructとの違いまで詳しく解説します。 そもそもStructとは何か? StructはRubyに組み込まれたクラスで、新しいクラスを動的に生成し、値オブジェクト(Value Object)を作成するために使われます。値オブジェクトとは、関連性のある複数の属性をひとまとめにして扱うためのオブジェクトです。 具体例を挙げてみましょう。 2つの座標(xとy)を持つPointというデータを表したい場合、この