[#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:17794] Re: self in block

From: Tanaka Akira <akr@...17n.org>
Date: 2002-07-24 04:48:45 UTC
List: ruby-dev #17794
In article <4.3.2-J.20020723180732.03de9ca8@blade.nagaokaut.ac.jp>,
  Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp> writes:

> 私も self をすげ替えるのはナシだと思いますが、call_current_block
> の導入は(これは名前が長すぎると思うけど)いいんじゃないかと思い
> ます。self すげ替えと一緒に論じられるのはかわいそう。
> 
> 一時的な、名前を持たない関数が欲しかったのにただ再帰のためだけに変
> 数に代入するのは残念な気がします。それに、変数のスコープに依らない
> のは気持ちいいですよ。カットアンドペーストも用意だし。(それを言っ
> たら普通のメソッドにも自分自身を表すモノが欲しくなるか。)

そうそう、書くのを忘れましたが、カットアンドペーストが容易なのはいいこ
とだと思います。これは名前の変更というリファクタリングが容易だというこ
とでまったくもっていいことです。言語というのはリファクタリングが容易な
ようにできているべきです。

これに限らずリファクタリングの容易性という観点から言語仕様を眺めること
はいろいろと可能で、たとえば open class (一つのクラスのメソッドを複数
のモジュールで定義できる機能 - CLOS とか Ruby とか)があるとメソッドを
モジュール間で移動するのが容易ですから、これはいいことです。

# open class の利点はこれだけじゃありませんけどね。Visitor パターンが
# 必要なくなるとか、いろいろあります。

まぁ、dynamic scope ならメソッドの括り出しが(自由変数を調べあげなくて
よくなるぶん)簡単になるからといって static scope よりも dynamic scope
がいいかというとそれは他の欠点とのトレードオフの話になるわけですが。

そういう意味で call_current_block もいいものではあるんでしょうが、それ
による利点は限定的だという気がします。keyword (Kernel のメソッド?)を増
やすことにより、その名前の変数が使えなくなり、プログラマが覚えることが
増えるという些細な欠点と比べてさえ利点が上回るかというのは微妙な感じを
受けます。

もう少し何か低レベルなものを元に call_current_block を実装するライブラ
リがあるというなら受け入れやすいかもしれません。
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)

In This Thread