Ruby文法メモ
Ruby文法メモ
基礎文法ですが、自分用メモとして残しておきます。
users = [ { name: '太郎', age: 27 }, { name: '次郎', age: 25 } ] users.each do |user| puts user end # {:name=>"太郎", :age=>27} # {:name=>"次郎", :age=>25} users.each do |user| puts user[:name] end # 太郎 # 次郎 users.each do |user| puts "私の名前は#{user[:name]}です。#{user[:age]}です。" end # 私の名前は太郎です。27です。 # 私の名前は次郎です。25です。
characters = [ { name: '太郎', age: 27 }, { name: '次郎', age: 25 }, { name: 'xxx' } ] characters.each do |character| puts '--------------------' puts character puts "名前は#{character[:name]}です" if character[:age] puts "年齢は#{character[:age]}歳です" else puts '年齢は秘密です' end end # -------------------- # {:name=>"太郎", :age=>27} # 名前は太郎です # 年齢は27歳です # -------------------- # {:name=>"次郎", :age=>25} # 名前は次郎です # 年齢は25歳です # -------------------- # {:name=>"xxx"} # 名前はxxxです # 年齢は秘密です
# もし条件式がtrueなら処理Aを行う、そうでなければ処理Bを行う if 条件式 処理A # true else 処理B # false end # もし条件式1がtrueなら処理Aを行う、 # そうでなくもし条件式2がtrueであれば処理Bを行う、いずれでもなければ処理Cを行う if 条件式1 処理A # 条件式1:true elsif 条件式2 処理B # 条件式1:false # 条件式2:true else 処理C # false end if characters[0][:name] == '太郎' puts '名前は太郎です' elsif characters[0][:name] == '次郎' puts '名前は次郎です' else '不明' end # 名前は太郎です
# メソッド:複数の処理を1つにまとめたもの def メソッド名 処理 end def info puts '太郎です' end info def メソッド名(引数名) 処理 end def info(name) puts "#{name}です" end info('太郎') # 太郎です def info(name, age) puts "私の名前は#{name}で、年齢は#{age}です" end info('太郎', 27) # 私の名前は太郎で、年齢は27です
# 戻り値:呼び出し元に値を返す。 def メソッド名 return 値 end 変数名 = メソッド名 puts 変数名 def name return 値 end # 戻り値:呼び出し元に値を返す。 def メソッド名?(_引数名) return 値 end puts メソッド名?(_引数名) def メソッド(キーワード引数1:, キーワード引数2:) 処理 end メソッド(キーワード引数1: xxxx, キーワード引数2: yyyy)