【激突】関数型言語 VS オブジェクト指向言語2at TECH【激突】関数型言語 VS オブジェクト指向言語2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト515:デフォルトの名無しさん 12/04/21 02:46:31.71 >>514 なぜこの人は今どきSmalltalkの末裔を使っているのか理由をうかがいたいので おしえてくださいです 516:デフォルトの名無しさん 12/04/22 01:52:01.88 # Ruby版、指定は半角空白区切り、EOFでギブアップ class CardNotFoundException < RuntimeError; end def remove_cards(specs, tableau) specs.each do |spec| if idx = tableau.find_index{|card| card == spec } then tableau.delete_at idx else raise CardNotFoundException.new(spec.to_s) end end end stock = ((1..9).to_a * 4).shuffle tableau = [] until tableau.empty? && stock.empty? tableau.push stock.pop until tableau.size >= 7 || stock.empty? printf "stock=%d tableau=%p\n? ", stock.size, tableau k = gets or exit specs = k.chomp.split(' ').map{|s| s == 'giveup' ? exit : s.to_i } begin remove_cards specs,tableau.dup if (total = specs.inject{|result,n| result + n }) == 15 then remove_cards specs,tableau else puts "total(#{total}) not equal to 15" end rescue CardNotFoundException => e puts "not found `#{e}'." end end puts 'Congraturations !' 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch