Top > Ruby > プログラムの構造


スクリプト内で「計算できるもの」を式と呼びます。 通常の数式とは違い、"Hello, world" のような文字列や変数などが挙げられます。 また、それらを+などの演算子やメソッドで繋いだものも式と言います。

式の例
1
foo = "Hello, world"
(foo.size + 2) * 3

真と偽

全てのオブジェクトは真と偽の2種類に分けることができます。 この仕組みは条件分岐などに非常に役に立ちます。 特殊なオブジェクトnilfalseに分類され、 その他のオブジェクトは全てです。

例えば、「1>3」という式を評価するとfalseという値が得られます。 これは与えられた式が間違っていることを意味します。 一方、「1<3」はtrueという値になりますが、これは式が正しいことを 意味しています。nilでもfalseでもありません。

ここで注意したいのは、等しいことを表す「==」と、代入を表す「=」の区別です。 全社は両辺が等しいことを意味しますが、代入の場合は右辺の値が式全体の価となります。また、「-1」や「0」、「""(空文字)」なども真偽で言うと真になります。

条件分岐

プログラムには、状況に応じて異なった処理をさせたいときがあります。 ある条件を満たすか否かで、処理の流れを変えたい場合は「if構文」を使用します。

if 条件
    処理1
else
    処理2
end

条件」のところに何らかの式を書くと、条件式を評価した値が なら 処理1 を、 だったら 処理2 が実行されます。

例えば、次のようにすれば i が5未満か5以上かを判定することができます。

  0
  1
  2
  3
  4
if i< 5
  puts "Small"
else
  puts "Large"
end

また、else の部分を省略して、

if 条件
    処理1
end

と書くこともできます。

繰り返し

スクリプト内で、同じ処理を繰り返したい場合は、下記のように while文 を使用します。

  0
  1
  2
  3
  4
i = 0
while i < 10
  puts i
  i = i + 1
end

繰り返し文の中でも、if文を使用することができます。

  0
  1
  2
  3
  4
  5
  6
  7
i = 0
while true
  if i == 10
    break
  end
  puts i
  i = i + 1
end

ここで、while true と言う文は、文を無限に繰り返し実行するための定型句です。 また、break とは、while 文を中断させるための命令です。
このように、while文の中にif文を入れたり、while文の中にwhile文を入れたりと、いくらでも複雑な文を作っていくことができます。


リロード   凍結解除 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Fri, 13 May 2011 00:22:47 JST (2407d)