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