【激突】関数型言語 VS オブジェクト指向言語2at TECH【激突】関数型言語 VS オブジェクト指向言語2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト275:デフォルトの名無しさん 12/04/13 13:56:46.55 型システムに制約を受けないパワフルな関数型言語ってのはないもんかね。 276:デフォルトの名無しさん 12/04/13 14:00:17.79 Perlしか読めないから誰かPerlで書いて 277:デフォルトの名無しさん 12/04/13 14:04:41.69 >>275 Erlang ? 278:デフォルトの名無しさん 12/04/13 14:24:54.40 >>273 つーか元出題者が Ruby だとオープンクラスやらなんやら使ってできるぜ、 って言いたいだけで作った問題なのがかなり見え見えなんだが。 279:デフォルトの名無しさん 12/04/13 15:57:16.91 書き込み行数がオーバーするんで適当に圧縮した module FizzBuzz SYM_HASH = {} ; def self.add_fizz sym, n ; SYM_HASH[sym] = n ; end def self.do_it sym, n, prefix ; if m = SYM_HASH[sym] if n % m == 0 s = sym.to_s ; s.capitalize! if prefix.kind_of? String then s[0, 0] = prefix end s.fizzbuzzval = n ; s else prefix end else nil end end end class Integer ; def method_missing sym if it = FizzBuzz.do_it(sym, self, self) then it else super end end end class String ; attr_writer :fizzbuzzval ; def method_missing sym if it = FizzBuzz.do_it(sym, @fizzbuzzval, self) then it else super end end end FizzBuzz.add_fizz :fizz, 3 FizzBuzz.add_fizz :buzz, 5 FizzBuzz.add_fizz :gizz, 7 p [1, 3, 5, 7, 15, 21, 35, 105].map{|n|n.fizz.buzz.gizz} 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch