1. ホーム
  2. スクリプト・コラム
  3. ルビートピックス

Rubyの基本文法チュートリアル

2022-02-01 07:27:02

簡単なRubyのプログラムを書いてみましょう。Rubyのファイルはすべて拡張子が.rbなので、以下のソースコードをtest.rbというファイルに記述します。

#! /usr/bin/ruby -w

puts "Hello, Ruby!";



ここでは、すでに/usr/binディレクトリにRubyインタプリタが用意されているものとします。では、以下のようにプログラムを実行してみてください。

$ ruby test.rb


すると、次のような結果になります。

Hello, Ruby!


簡単なRubyのプログラムを見ていただきましたが、次にRubyの文法に関する基本的な概念を見てみましょう。
Rubyのプログラム中の空白文字
Rubyのコードに含まれる空白文字(スペースやタブなど)は、文字列中に現れる場合を除き、一般に無視されます。しかし、あいまいな文章を解釈するために使われることがあります。この解釈は、-w オプションが有効な場合に警告を発生させます。

  • a + b は a+b と解釈される (これはローカル変数である)
  • a + b は a(+b) と解釈されます (これはメソッド呼び出しです)

Rubyのプログラムにおける行末
Ruby では、セミコロンと改行が文の終わりとして解釈されます。しかし、行末に+、-、バックスラッシュなどの演算子がある場合、これらは文の継続を意味します。
Rubyの識別子
識別子は変数、定数、メソッドの名前であり、Rubyの識別子は大文字と小文字が区別される。つまり、RubyではRamとRAMは異なる識別子です。
Rubyの識別子名には、アルファベット、数字、アンダースコア文字(_)を使用することができます。
予約語
Rubyの予約語は次の表のとおりです。これらの予約語は、定数や変数の名前として使うことはできません。しかし、メソッド名として使用することはできます。

ここがRubyのドキュメント
ここでDocument"は複数行の文字列を作成することを意味します。<< の後に文字列または識別子を指定して文字列を終端し、現在の行以降、終端までのすべての行がその文字列の値となります。
ターミネーターが引用符で囲まれている場合、引用符の種類によって、行送りの文字列の種類が決まります。なお、<<とターミネーターの間には空白を入れてはいけない。
以下は異なる例です。

#! /usr/bin/ruby -w
# -*- coding : utf-8 -*-

print <<EOF
  This is the first way to create here document.
  Multi-line strings.
EOF

print <<"EOF"; # Same as above
  This is the second way to create a here document.
  Multi-line strings.
EOF

print <<`EOC` # Execute the command
 echo hi there
 echo lo there
EOC

print <<"foo", <<"bar" # You can stack them
 I said foo.
foo
 I said bar.
bar



すると、次のような結果になります。

  This is the first way of creating
  This is the first way of creating her document ie. multiple line string.
  This is the second way of creating
  This is the second way of creating her document ie. multiple line string.
hi there
lo there
    I said foo.
    I said bar.