[#24210] [SEGV] redefine Struct with same name — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。Struct を同じ名前で二度定義すると、
6 messages
2004/09/03
[#24213] 1.instance_eval "@@a" dumps core — Tanaka Akira <akr@...17n.org>
次のように、1.instance_eval "@@a" とすると core を吐きます。
10 messages
2004/09/03
[#24217] Re: 1.instance_eval "@@a" dumps core
— Yukihiro Matsumoto <matz@...>
2004/09/03
まつもと ゆきひろです
[#24218] Re: 1.instance_eval "@@a" dumps core
— Tanaka Akira <akr@...17n.org>
2004/09/04
In article <1094229200.559688.22218.nullmailer@picachu.netlab.jp>,
[#24219] Re: 1.instance_eval "@@a" dumps core
— Yukihiro Matsumoto <matz@...>
2004/09/05
まつもと ゆきひろです
[#24220] Re: 1.instance_eval "@@a" dumps core
— Tanaka Akira <akr@...17n.org>
2004/09/05
In article <1094342919.363209.2395.nullmailer@picachu.netlab.jp>,
[#24221] Re: 1.instance_eval "@@a" dumps core
— Yukihiro Matsumoto <matz@...>
2004/09/05
まつもと ゆきひろです
[#24231] system("") — Tanaka Akira <akr@...17n.org>
次のように、system("") が例外になるのは意図された挙動でしょうか?
6 messages
2004/09/06
[#24234] 要素代入での?!の扱いについて — Nowake <nowake@...>
野分です。
6 messages
2004/09/06
[#24255] ripper committed — Minero Aoki <aamine@...>
青木です。
11 messages
2004/09/12
[#24261] Array#collect! dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
7 messages
2004/09/14
[#24277] new NKF2拡張ライブラリ — "Kenichi.Tamura" <sgs02516@...>
たむらです。
5 messages
2004/09/16
[#24287] Array#sort! with calcc dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
6 messages
2004/09/19
[#24288] Re: Array#sort! with calcc dumps core
— Yukihiro Matsumoto <matz@...>
2004/09/19
まつもと ゆきひろです
[#24302] Procのブロック呼び出しメソッド名を自由に設定 — Nowake <nowake@...>
こんばんは、野分です。
8 messages
2004/09/21
[#24304] Re: Procのブロック呼び出しメソッド名を自由に設定
— Yukihiro Matsumoto <matz@...>
2004/09/22
まつもと ゆきひろです
[#24311] Array#sort! dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
5 messages
2004/09/22
[#24315] String#sub! dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
5 messages
2004/09/23
[#24332] Marshal.dump dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
4 messages
2004/09/24
[#24337] Re: [ruby-cvs] ruby: * hash.c: iterator functions for hash_foreach() should return enum — nobu@...
なかだです。
4 messages
2004/09/24
[#24341] Array#* dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
9 messages
2004/09/25
[#24351] Re: Array#* dumps core
— nobu@...
2004/09/27
なかだです。
[#24354] finalizer
— Tanaka Akira <akr@...17n.org>
2004/09/27
In article <200409270225.i8R2PDfs014206@sharui.nakada.niregi.kanuma.tochigi.jp>,
[#24368] Enumerable#sort_by dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
4 messages
2004/09/28
[ruby-dev:24313] Re: Procのブロック呼び出しメソッド名を自由に設定
From:
Yukihiro Matsumoto <matz@...>
Date:
2004-09-22 19:07:04 UTC
List:
ruby-dev #24313
まつもと ゆきひろです
In message "Re: [ruby-dev:24309] Re: Procのブロック呼び出しメソッド名を自由に設定"
on Wed, 22 Sep 2004 21:42:02 +0900, Nowake <nowake@fiercewinds.net> writes:
|> それはどうなんだろう。考えてもみなかった発想ですが、フレキシ
|> ブルすぎてワケワカのプログラムを発生させそうです。
|
|ある意味逆転の発想ですからね。
ですねえ。
|根っこには従来のProcの不満点
|
|1.クロージャを実際に使用している部分のコードを読むときに、
| 「ブロックをcallする」というコードでは実際に何を行っているのか
| わからないことがある。
| ->どういう機能を実現するのか(コメント無しで)わかるようにしたい
|2.クロージャを使って多態をすると(callを使わなくてはならないので)
| 他のオブジェクトとの相性が悪い
| ->他のオブジェクトと同じメソッドで扱いたい
|
|があります。
ふむ。クロージャというものはそれがどのような働きをするものか
は、変数名が示すものだと考えていました。だから、その名前(の
手続き)を実行するというのが唯一のメソッドだと。だからせいぜ
い「()」というメソッドを(callの別名として)用意するくらいしか
考えられませんでした。
が、野分さんの発想は基本的に「なんかするオブジェクトがあって、
それのメソッドを呼ぶ」わけですね。極端に言えばクロージャを指
している変数名はそれこそなんでもよくて、させたい仕事をメソッ
ドで指定する、と。
若干理解が進んで改めて考えると、ますます斬新な発想です。自分
の頭が固くなっていることを実感します。普段からJavaの無名クラ
スやC#のdelegateとかに親しんでいるとこういう発想が出てくるの
でしょうか。
|まつもとさんが危惧されているのは2.に関連する部分(Procを使っ
|て他のオブジェクトとのお手軽な多態を行ってしまい、Procなの
|か本物のオブジェクトなのか解らなくなる)かと思いますが、同
|じメッセージを受け付けることができるのならば使う側からは同
|種のオブジェクトとして扱っても問題無いでしょうから、それほ
|ど心配する必要は無いかと思います。
いやいや、クロージャを普通のオブジェクトのフリをさせるという
発想が完全に抜け落ちてましたから、思考を適合できなかったとい
うのが正直なところです。というか、まだ消化しきれてないんです
がね。このアイディアはクロージャのあり方を変えてしまいそうで
す。もうちょっと考えさせてください。
まつもと ゆきひろ /:|)