基本文法
概要
Rubyの基本的な文法を説明します。 ここで説明する文法以外も他の章で適宜説明します。
コメント
Rubyではプログラム内にコメントを書くことができます。 コメントはプログラムの中に書いてあってもプログラムとしては扱われません。 つまり、プログラムとしては何も意味を持ちません。 あとからプログラムを読んで内容を把握しやすいように、プログラムの補足情報などを書くときに使われます。
プログラムの1行の中で#
(シャープ)以降の文字はコメントとして扱われます。
puts "Hello, World!"
# ここはコメントです
puts "I'm a Ruby program" # ここもコメントです
# 1 + 1の計算結果を出力します。
puts(1 + 1)
改行
プログラムのひとつの区切りを改行で表します。
次のようなプログラムはエラーになります。
puts "hello" puts "world"
次のように書く必要があります。
puts "hello"
puts "world"
また、改行は間にいくついれても構いません。 プログラムが読みやすいように改行を入れるようにしましょう。
puts "hello"
puts "world"
# こういうプログラムもOK
空白文字とインデント
スペースやタブなどの空白文字は1つ以上連続してても1つの空白として扱われます。
例えば、次の2つの式は同じ意味です。
puts "Hello, world!"
puts "Hello, world!"
空白文字はプログラムを読みやすくするためによく使われます。
プログラムを読みやすくする技術としてインデントというものがあります。 簡単に言うと字下げのことです。
インデントはプログラムのかたまりを表現するために用いられます。 例えばこんな感じです。
age = nil
loop do
# ユーザーに年齢を入力してもらう
puts "年齢を入力してください!"
input = gets.chomp
# 入力が数字ならループを抜ける
if input =~ /^[0-9]+$/
age = input.to_i
break
end
end
if age > 19
puts "あなたは成人ですね!"
puts "お酒飲んでもOKですよ!"
else
puts "あなたは未成年ですね!"
puts "お酒は飲んじゃだめですよ!"
end
do
〜end
やif
〜else
〜end
の間のプログラムがインデントされていて、かたまりが見やすくなっていることがわかります。
Rubyでは1つのインデントを空白2つで表すのが慣習になっています。
括弧やdo-end
開始したプログラムのかたまりは必ず終了しなければいけません。
(
は必ず)
で閉じる、do
は必ずend
で閉じる、というルールです。
次のような対応する括弧がないようなプログラムはエラーになります。
# 閉じ括弧が多いのでエラーになる
puts("Hello, world!"))
# 閉じ括弧がないのでエラーになる
puts("Hello, world!"
# 閉じ"がないのでエラーになる
puts "Hello, world!
# endがないのでエラーになる
loop do
puts "loop now!"
インデントを適切につけて、開いたら閉じるというのを徹底するようにしてください。
練習問題
(1) コメント
これまでに作成したプログラムのいずれかにコメントを入れて実行してください。
(2) Syntax Error
対応しない括弧や"
を含むプログラムsyntax_error.rb
を作ってください。
実行してエラーが表示されることを確認してください。