[#17615] substitution at when-clause — Takaaki Tateishi <ttate@...>
立石です.
まつもと ゆきひろです
At Tue, 2 Jul 2002 02:54:01 +0900,
まつもと ゆきひろです
At Tue, 2 Jul 2002 13:30:17 +0900,
まつもと ゆきひろです
立石です.
まつもと ゆきひろです
青山です。
立石です.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
At Wed, 3 Jul 2002 17:48:58 +0900,
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#17625] Re: Getting CGI arguments as scalars — Wakou Aoyama <wakou@...>
青山です。
[#17662] update irb to cvs repository — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
In article <200207041003.TAA06746.keiju@ishitsuka.com>,
けいじゅ@日本ラショナルソフトウェアです.
[#17676] generation GC — Minero Aoki <aamine@...>
あおきです。
[#17706] self in block — masaki <GEC01122@...>
[#17714] Re: self in block — masaki <GEC01122@...>
[#17722] Re: self in block — masaki <GEC01122@...>
[#17725] Re: self in block — masaki <GEC01122@...>
まつもと ゆきひろです
In article <1027176584.577546.14709.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
At Sun, 21 Jul 2002 01:10:02 +0900,
まつもと ゆきひろです
[#17730] Re: self in block — masaki <GEC01122@...>
At Sat, 20 Jul 2002 21:27:58 +0900,
高橋征義です。
けいじゅ@日本ラショナルソフトウェアです.
[#17764] Re: self in block — masaki <GEC01122@...>
まつもと ゆきひろです
In article <1027383423.558649.31176.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1027404202.545188.1283.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1027406979.880878.1358.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1027409151.187595.1406.nullmailer@picachu.netlab.jp>,
前田です。
In article <87bs8xkfqr.wl@studly.priv.netlab.jp>,
前田です。
[#17774] Re: self in block — masaki <GEC01122@...>
[#17832] Re: [ruby-cvs] ruby: * random.c: replace with Mersenne Twister RNG. — nobu.nakada@...
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#17840] Re: new mathn [Re: Rational#to_int ← String#center] — keiju@... (石塚圭樹)
けいじゅ@日本ラショナルソフトウェアです.
[#17851] undef_method ? — Shin-ichiro HARA <sinara@...>
原です。
[#17855] non-blocking IO — nobu.nakada@...
なかだです。
まつもと ゆきひろです
なかだです。
[#17867] parenthesize argument(s) for future version — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
[ruby-dev:17719] Re: self in block
正木です。
From: Minero Aoki <aamine@mx.edit.ne.jp>
Subject: [ruby-dev:17715] Re: self in block
Date: Fri, 19 Jul 2002 14:25:11 +0900
>
> > 問題は initialize に渡される block のように、いつどこで呼ばれるかあらかじめ
> > 分からない場合で、従来の仕様だと self も不定(大抵は main ですが)で使いようが
> > 無いし、変数の scope も問題があります。
>
> すみません、「self が不定」という点がさっぱりわかりません。self
> が不定だったらプログラムは書けません。また「たいていは main」は
> 嘘だと思います。普通のオブジェクト指向なプログラムだったら self
> は main 以外のほうが圧倒的に多くなります。
initialize の code を書いている時点では不定と言う意味です。勿論呼ばれた
時点での context で self は決まります。
Sequence の設計を色々試していた時の test 結果が、殆んど main だったので、
つい筆がすべりました。無視してください。
私は従来の block との併用を考えているので、上で言っているのは、どういう
context で使われるかが前もって分からない特殊な case での話です。
>
> それと「ブロック」はイテレータは含むんですか? 含むとしたら
> めちゃくちゃ嫌です。ブロックを定義する側からまったく情報を
> 渡せなくなるわけで、それこそ使いようがありません。
>
イテレータに対しては今まで通りの仕様を使えば良いのでは?
> なんとなく、「関数が欲しい」というのが真の意図のような気が
> するのですが……
これはその通りです。名前を付ける必要がない関数が欲しいわけです。
>
>
> > 私の(妥協案でない)本音の提案は以下の通りです:
> >
> > 従来の仕様から block 内 local 変数をはずす。
> > (これは仕様がすっきりするというだけの理由です。)
> >
> > 逆に新しい仕様ではすべての local 変数を block 内 local 変数にする。正確には:
> > object.method(){<x,...> ...}
> > の形のときは local 変数の scope は block 内に限定される。
> > self はこれを呼び出した object を指す。
>
> ……ということはやっぱりイテレータも入るんでしょうね。
> それならやはり「絶対」反対です。
>
イテレータに対して新しい仕様を使う必要は殆んどないだろうと思っています。
> ローカル変数はブロックローカル限定、までは個人的には同意できる
> 面もありますが、self を変えてしまうのはどうにも理解できません。
> self が変わるということは呼べるメソッドからインスタンス変数から
> あらゆる環境が変わるということです。self はできるだけ静的に決定
> するのが望ましい姿でしょう。
>
object.method(){<x,...> ...}
で呼ばれる method の定義
def method(...)
...
end
のなかでは self はこの method を呼んだ object を指すわけですから
block 内の self が別の物を指す方が不自然な気がします。
> しかも、正木さんのやりたいことはなにも self を変えてしまわなく
> とも、(立石さんがおっしゃるように) 別の名前を導入しても可能なの
> ですからなおさらです。たとえば caller とかがふさわしいのでは
> ないでしょうか。
>
>
> ただ、いずれにしてもぼくはそういう機能には反対します。
>
> オブジェクトへのリンクを持っているということはメソッドを呼べる
> ということです。そしてメソッドを呼ぶというのは「それが必要だ」
> という表明です。ましてや言語レベルでリンクを提供するのならば、当
> のオブジェクトにとってかなりの関連性や必然性がなければいけない
> はずです。ですが caller と callee のオブジェクト同士にそれほど
> 強い関係や結びつきがあるとは思えません。むしろ勝手に記憶されたく
> ない場合のほうが多いのではないでしょうか?
> -------------------------------------------------------------------
>
ここの所は全く理解できません。
できれば caller について分かりやすく説明していただけると助かります。
参考のためにお聞きしますが、青木さんが現在の block の仕様に不満があると
したら、それは何ですか?
従来通りの使い方をしている分には何の影響も無いわけで、青木さんが何故
そんなに反対するのか不可解です。
(従来の仕様から block 内 local 変数をなくすというのは互換性の問題で実際
には採用されないと思います。)