プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Ruby
  • 【Ruby】「コメント」、「ヒアドキュメント」、「マジックコメント」とは?
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Ruby】「コメント」、「ヒアドキュメント」、「マジックコメント」とは?

10.24

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

コメント

単一行コメント

1
#単一行コメント

複数行コメント

1
2
3
4
=begin
複数行
コメント
=end

一応、これで複数行コメントをすることは可能ですが、実際に現場で使われることは稀です。

#を複数行入力して、複数行コメントとしてしまうことの方が多いです。

文字列を改行して変数に格納する。(ヒアドキュメント)

下記のように記述することで改行状態を保ったまま文字列を変数に代入することができます。これをヒアドキュメントと言います。デフォルトでは文字列はダブルコーテーションで囲ったのと同じ動きをします。

1
2
3
4
5
6
text = <<EOS
これはヒアドキュメントの
テストです。
複数行の文字列を代入する場合に便利な記述方法です。
EOS
puts text

任意の文字列はなんでもいいのですがEOS(End Of String)が使われることが多いです。

ヒアドキュメントの中に変数を埋め込む

下記のようにすれば固定文字列の中に変数を埋め込むことも可能です。開始文字はコーテーションで囲っても良いですが、終端の文字はコーテーションで囲ってはいけません。(下記の例では「EOS」)

1
2
3
4
5
6
7
8
four = '4'
text = <<"EOS"(もしくはEOSでも良い)
これはヒアドキュメントの
テストです。
複数行の文字列を代入する場合に便利な記述方法です。
この行は#{four}行目になります。
EOS
puts text

ヒアドキュメントの様々な記述

text = <<"EOS"

文字列をシングルコーテーションで囲ったのと同じ動きにできます。

text = <<-"EOS"

文字列をインデント込みで表示できます。一番左にヒアドキュメント文を記述する必要がなくなり、プログラムの階層とかを意識して実装したい場合はこちらの記述方法を使用します。

マジックコメントとは?

Rubyにおいてソースコードの文字コードを指定するためのものです。Ruby.2.0以上であればデフォルトでUTF-8が入っているので指定する必要はありません。

基本的な書き方

文字コードは大文字と小文字は区別しないです。

1
# encoding: 文字コード名

または

1
# coding: 文字コード名

UTF-8

1
# encoding: utf-8

Shift-JIS

1
# encoding: Shift_JIS

US-ASCII

1
# encoding: us-ascii

encodingメソッド

Stringクラスのencodingメソッドでデータ型を確認することが可能です。

スポンサーリンク
  • 2020 10.24
  • miyabisan2
  • コメントを書く
  • Ruby
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 06.15

    【Ruby】「オブジェクト」、「クラス」の扱い方、継承など

  2. 2019 12.01

    【Rspec】基本的な書き方、タグなど

  3. 2018 06.16

    【Ruby】Rubyの基本、正規表現の便利ツール(Rubular)

  4. 2019 11.17

    【Ruby】例外処理

  5. 2018 06.18

    【Ruby】デバッグの仕方

  6. 2019 12.01

    【Rspec】テストコードの処理の共通化(before、let、shared_examples)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Ruby on Rails】「pundit」について

【Docker】基本、「マウント(Volumes、bi…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー