夢は小さいほどいいと思っているんです。本気になれるから。

夢を持つことが大事なんじゃなく、本気になるのが大事。(糸井重里)

Ruby文法

ココに書かれたプログラムや説明文は
高橋 征義 (著), 後藤 裕蔵 (著), まつもと ゆきひろ (監修) (2013)"たのしいRuby 第4版" ソフトバンククリエイティブ
から引用しています。

_____________________________________________________________

配列の要素を全て表示したい

names = ["小林","","高野","盛岡"]

names.each do |n|
  puts n
end

_____________________________________________________________

ハッシュの繰り返し

 eachメソッドを使って、ハッシュのキーと値を1つづつ取り出し、全ての要素を処理する事ができる。配列の場合はインデックスの順だけど、ハッシュの場合は「キー」と「値」の組を取り出す事になる。

address = {name:"高橋",furigana:"タカハシ"}

address.each do |key, value|
  puts "#{key}: #{value}"
end

_____________________________________________________________

正規表現とif文

配列中の「林」という文字を含む文字列だけを出力せよ。

names = ["小林","","高野","森岡"]

names.each do |name|
  if // =~ name
    puts name
  end
end

_____________________________________________________________

条件と真偽値

 比較演算子以外で条件を表すメソッド、例えば文字列クラスのempty?メソッド
文字列の長さが0の時にtrueを、そうでない時にfalseを返すメソッド
上はtrueを返し、したはfalseを返す。

p "".empty?
p "AAA".empty?

_____________________________________________________________

基本的な条件判断分。

 変数に数字が入ったaとb、どちらが大きいかを判断するプログラム。

a = 10
b = 20

  if a > b
    puts "aはbよりも大きい"
  elsif a < b
    puts "aはbよりも小さい"
  else
    puts "aとbは同じ"
  end

_____________________________________________________________

case文

 比較したいオブジェクトが1つだけで、そのオブジェクトの値によって場合分けしたい場合。
case文を使うとシンプル。下記の例は、与えられたオブジェクトが文字列(Stringクラス)か、数値クラス(Numericクラス)か、あるいはどちらでもないかを判断して、結果を表示します。Whenに与えられたオブジェクトの種類で条件反している。

array = ["a",1,nil]

array.each do |item|
  case item
  when String
    puts "item is String"
  when Numeric
    puts "item is Numeric"
  else
    puts "item is something"
  end
end