From: Yusuke Endoh Date: 2015-01-05T21:08:07+09:00 Subject: [ruby-list:50044] Re: 異なるProcオブジェクトが同じ構造を持つかどうか確かめたい > ありがとうございます!!正しく欲していたものです!! 欲していたものではないかもしれないので、ご注意ください。 環境を無視して ISeq の物理的等価判定をしてるようなので、 例えば同じ定義のクロージャでも f = ->(x) { x } g = ->(x) { x } p ISeq.of(f) == ISeq.of(g) #=> false という結果になりますし、逆に明らかに異なるクロージャでも f = ->(x) { ->(y) { x } } g = f.(1) h = f.(2) p ISeq.of(g) == ISeq.of(h) #=> true という結果になります。 承知の上ならすみません。 2015年1月5日 20:15 Tanaka Kazuki : >> 一般化はできないと思いますが、この例では >> >> ISeq = RubyVM::InstructionSequence >> ISeq.of(v1) == ISeq.of(v2) #=> true >> >> になりますね。 > > ありがとうございます!!正しく欲していたものです!! > > 小学生並みの感想ながら RubyVM::InstructionSequence すごいですね. > > 後学に生かします. > > 田中 > -- > =============================== > Keio university mathematical sciences > 田中 和希  Kazuki Tanaka > > mail: mail@tanakakazuki.com > HP: http://gogotanaka.me/ > Blog: http://blog.gogotanaka.me/ > Twitter: @gogo_tanaka > Facebook: https://www.facebook.com/gogogogotanaka > =============================== > > >> Date: Mon, 5 Jan 2015 14:08:17 +0900 >> From: nobu@ruby-lang.org >> To: ruby-list@ruby-lang.org >> Subject: [ruby-list:50042] Re: 異なるProcオブジェクトが同じ構造を持つかどうか確かめたい > >> >> On 2015/01/05 12:25, Tanaka Kazuki wrote: >> > 動的に作られた異なるProcオブジェクトが同じ構造を持つかどうか(つまり抽象計算上同一と言えば良いのでしょうか) >> > >> > 調べる良いを方法に頭を悩まさせており、皆様のご教授を賜いたくこちらに文書を綴りました. >> > >> > >> > RubyでZコンビネーター遊びをしている時に問題に当たりました. >> > >> > https://gist.github.com/gogotanaka/b8c5688863d9c4774cd8 >> >> 一般化はできないと思いますが、この例では >> >> ISeq = RubyVM::InstructionSequence >> ISeq.of(v1) == ISeq.of(v2) #=> true >> >> になりますね。 >> >> -- >> --- 僕の前にBugはない。 >> --- 僕の後ろにBugはできる。 >> 中田 伸悦