[#17615] substitution at when-clause — Takaaki Tateishi <ttate@...>

立石です.

47 messages 2002/07/01
[#17619] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/01

まつもと ゆきひろです

[#17621] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/02

At Tue, 2 Jul 2002 02:54:01 +0900,

[#17622] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/02

まつもと ゆきひろです

[#17624] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/02

At Tue, 2 Jul 2002 13:30:17 +0900,

[#17627] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/02

まつもと ゆきひろです

[#17630] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/02

立石です.

[#17631] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/02

まつもと ゆきひろです

[#17635] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/03

立石です.

[#17639] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/03

まつもと ゆきひろです

[#17644] Re: substitution at when-clause — keiju@... (石塚圭樹) 2002/07/03

けいじゅ@日本ラショナルソフトウェアです.

[#17645] Re: substitution at when-clause — matz@... (Yukihiro Matsumoto) 2002/07/03

まつもと ゆきひろです

[#17647] Re: substitution at when-clause — keiju@... (石塚圭樹) 2002/07/03

けいじゅ@日本ラショナルソフトウェアです.

[#17649] Re: substitution at when-clause — Takaaki Tateishi <ttate@...> 2002/07/03

At Wed, 3 Jul 2002 17:48:58 +0900,

[#17651] Re: substitution at when-clause — keiju@... (石塚圭樹) 2002/07/03

けいじゅ@日本ラショナルソフトウェアです.

[#17730] Re: self in block — masaki <GEC01122@...>

16 messages 2002/07/20

[#17764] Re: self in block — masaki <GEC01122@...>

31 messages 2002/07/22
[#17765] Re: self in block — matz@... (Yukihiro Matsumoto) 2002/07/23

まつもと ゆきひろです

[#17768] Re: self in block — Tanaka Akira <akr@...17n.org> 2002/07/23

In article <1027383423.558649.31176.nullmailer@picachu.netlab.jp>,

[#17769] Re: self in block — matz@... (Yukihiro Matsumoto) 2002/07/23

まつもと ゆきひろです

[#17770] Re: self in block — Tanaka Akira <akr@...17n.org> 2002/07/23

In article <1027404202.545188.1283.nullmailer@picachu.netlab.jp>,

[#17771] Re: self in block — matz@... (Yukihiro Matsumoto) 2002/07/23

まつもと ゆきひろです

[#17772] Re: self in block — Tanaka Akira <akr@...17n.org> 2002/07/23

In article <1027406979.880878.1358.nullmailer@picachu.netlab.jp>,

[#17832] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — nobu.nakada@...

なかだです。

17 messages 2002/07/26
[#17835] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — matz@... (Yukihiro Matsumoto) 2002/07/26

まつもと ゆきひろです

[#17837] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — nobu.nakada@... 2002/07/26

なかだです。

[#17842] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — matz@... (Yukihiro Matsumoto) 2002/07/26

まつもと ゆきひろです

[#17886] line number(Re: Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG.) — nobu.nakada@... 2002/08/02

なかだです。

[#17893] Re: line number(Re: Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG.) — matz@... (Yukihiro Matsumoto) 2002/08/03

まつもと ゆきひろです

[#17897] Re: line number(Re: Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG.) — nobu.nakada@... 2002/08/03

なかだです。

[#17973] Re: line number(Re: Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG.) — nobu.nakada@... 2002/08/11

なかだです。

[ruby-dev:17761] Re: self in block

From: masaki <GEC01122@...>
Date: 2002-07-22 06:42:43 UTC
List: ruby-dev #17761
正木です。

From: TAKAHASHI Masayoshi <maki@rubycolor.org>
Subject: [ruby-dev:17741] Re: self in block
Date: Sun, 21 Jul 2002 00:03:57 +0900

> 
> さて、正木さんの提案では、「<....>」を使ったブロックの中では、
> selfをブロックを呼び出したコンテキストではなく、ブロックつきメソッド
> を定義したコンテキストにするべき、ということですよね。
> これはつまり、ブロックにeval並みの強力さを必ず持たせるように
> する、ということに近そうです。
> もちろん、そういう強力なブロック構文があっても駄目ではないで
> しょうが、そのように強力な構文の必要性と汎用性は疑問視せざるを
> えなさそうです。この「汎用性」というのは、単に使えるかどうか
> だけではなく、「強力すぎるので多用してはいけない」といった形
> での抑制も含めた意味です。
> 
> もし、<....>を使ったブロックの構文を強力すぎるものにしてしまう
> なら、evalと同様あまり推奨されないものになってしまいそうです。
> しかし、<....>を使ったブロック構文(と同等の、ブロック変数が
> ブロックローカルになるようにする構文)がRubyに欲しいと考えている
> 人たちは、それが積極的に使える・使われる構文であって欲しいと
> 思っているように見受けられます。であれば、このような「強力さ」は
> あまり望ましいものではないではないでしょうか。
> 

私は eval を利用して、実質的には希望している通りの block 構文
を作って積極的に多用しています。
私にとっては、これが使えなかったら、Ruby を使う意味がないと思う位
のものです。
これは Ruby の可能性を大きく拡大するものだと思って提案しています。
勿論、私にとって merit のほうが圧倒的に大きくても、他の人には
致命的な demerit があるようだったら困るわけなので、 その望ましく
ないという具体例をあげてもらえないでしょうか?
すべて便利なものの蔭には危険が伴っているものなので、新しいものを
導入するときには必ず起こる問題だと思っています。

投稿する前に、皆さんがこれだけ反対するからには、かなりの demerit が
あるのかも知れないと考えているうちに、私が、青木さんの発言を完全に
誤解していたことに気が付きました。
青木さんの主張は、現在用意してある method を使って隠蔽情報を取り出せる
のは良くないということで、method を追加すれば可能だというのは、反論に
なっていなかったようです。

[ruby-dev:17730] Re: self in block での

|class method の追加が禁止されてない以上、Ruby にはそういう意味での
|情報隠蔽はもともと無いと思っています。

は撤回します。まつもとさんには大変失礼なことを書いてしまいました。
お許しください。

青木さんや高橋さんの危惧はよく分かりましたので、私の提案を次のように
変更します。

"initialize に {<x,...> ...} の形で与えられた block に対しては、
その context を、initialize の中での context にする。
$SAFE=1 のときにはこの機能は使えない。"

initialize の段階では単に設定をするだけなので、まず危険なことは
なさそうだと思いますが如何でしょう。


In This Thread

Prev Next