独習Ruby 第8章 クロージャ

久しぶりの更新。
やっぱりちょこちょこでもいいからやっていかなきゃなーと思ったので。

練習問題8.1
僕の回答

#3の倍数を抽出して、昇順に並べる
list = [3,7,6,9,10,1,5,8]
result = list.select{|x| x % 3 == 0 }
p result.sort{|b, a| a.to_i <=> b.to_i }

回答例

list.select {|i| i % 3 == 0 }.sort

{}のあとにも.sortとかつけれる。

練習問題8.2
僕の回答

回答できず。
※どうやって勝つ手を入れる処理を行うんだろう…

#格納したじゃんけんの配列に勝つ手を格納した配列を作成
janken = ["G", "C", "P"]

回答例

 janken.collect do |t|
	case t
	when "G" ; "P"
	when "C" ; "G"
	when "P" ; "C"
	else ; ""
	end
	end

case when を使って対応させるのか。
制御構造

もう一度やっておかないとアレだなぁ…