[#3587] Multiple assignment at yield() — Shin-ichro Hara <sinara@...>
原です。
86 messages
1998/11/17
[#3588] Re: Multiple assignment at yield()
— matz@... (Yukihiro Matsumoto)
1998/11/17
まつもと ゆきひろです
[#3589] Re: Multiple assignment at yield()
— Shin-ichro Hara <sinara@...>
1998/11/17
原です。
[#3590] Re: Multiple assignment at yield()
— matz@... (Yukihiro Matsumoto)
1998/11/17
まつもと ゆきひろです
[#3594] Re: Multiple assignment at yield()
— Shin-ichro Hara <sinara@...>
1998/11/18
原です。
[#3595] Re: Multiple assignment at yield()
— matz@... (Yukihiro Matsumoto)
1998/11/18
まつもと ゆきひろです
[#3596] Re: Multiple assignment at yield()
— Shin-ichro Hara <sinara@...>
1998/11/18
原です。
[#3598] Re: Multiple assignment at yield()
— matz@... (Yukihiro Matsumoto)
1998/11/19
まつもと ゆきひろです
[#3600] Re: Multiple assignment at yield()
— Shin-ichro Hara <sinara@...>
1998/11/20
原です。
[#3610] Re: Multiple assignment at yield()
— Shin-ichro Hara <sinara@...>
1998/11/20
原です。
[#3611] Re: Multiple assignment at yield()
— matz@... (Yukihiro Matsumoto)
1998/11/20
まつもと ゆきひろです
[#3622] Re: Multiple assignment at yield()
— Shin-ichro Hara <sinara@...>
1998/11/21
原です。
[#3630] Re: Multiple assignment at yield()
— shugo@... (MAEDA Shugo)
1998/11/22
前田です。
[#3635] Re: Multiple assignment at yield()
— Shin-ichiro Hara <sinara@...>
1998/11/23
原です。
[#3658] Re: Multiple assignment at yield()
— matz@... (Yukihiro Matsumoto)
1998/11/24
まつもと ゆきひろです
[#3660] Re: Multiple assignment at yield()
— Shin-ichro Hara <sinara@...>
1998/11/24
原です。
[#3663] Re: Multiple assignment at yield()
— matz@... (Yukihiro Matsumoto)
1998/11/25
まつもと ゆきひろです
[#3667] Re: Multiple assignment at yield()
— Shin-ichro Hara <sinara@...>
1998/11/25
原です。
[#3722] multiple assignment, yield and return
— Shin-ichro Hara <sinara@...>
1998/12/01
原です。
[#3725] Re: multiple assignment, yield and return
— shugo@... (MAEDA Shugo)
1998/12/01
前田です。
[#3724] Re: multiple assignment, yield and return
— Shin-ichro Hara <sinara@...>
1998/12/01
原です。
[#3742] List()
— Shin-ichro Hara <sinara@...>
1998/12/04
原です。
[#3743] Re: List()
— shugo@... (MAEDA Shugo)
1998/12/06
前田です。
[#3744] Re: List()
— Shin-ichiro Hara <sinara@...>
1998/12/06
原です。
[#3755] Re: List()
— shugo@... (MAEDA Shugo)
1998/12/07
前田です。
[#3758] Re: List()
— Shin-ichro Hara <sinara@...>
1998/12/07
原です。
[#3760] Re: List()
— shugo@... (MAEDA Shugo)
1998/12/07
前田です。
[#3761] Re: List()
— Shin-ichiro Hara <sinara@...>
1998/12/07
原です。
[#3774] Re: List()
— shugo@... (MAEDA Shugo)
1998/12/08
前田です。
[#3780] Re: List()
— Shin-ichiro Hara <sinara@...>
1998/12/08
原です。
[#3784] Re: List()
— shugo@... (MAEDA Shugo)
1998/12/09
前田です。
[#3788] Re: List()
— Shin-ichro Hara <sinara@...>
1998/12/09
原です。
[#3789] Re: List()
— MAEDA Shugo <shugo@...>
1998/12/10
前田です。
[#3790] Re: List()
— Shin-ichiro Hara <sinara@...>
1998/12/10
原です。
[#3791] Re: List()
— MAEDA Shugo <shugo@...>
1998/12/10
前田です。
[#3793] Re: List()
— Shin-ichiro Hara <sinara@...>
1998/12/12
原です。
[#3797] Re: List()
— matz@... (Yukihiro Matsumoto)
1998/12/14
まつもと ゆきひろです
[#3602] problem of Delegator — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
17 messages
1998/11/20
[#3605] Re: problem of Delegator
— matz@... (Yukihiro Matsumoto)
1998/11/20
まつもと ゆきひろです
[#3606] Re: problem of Delegator
— keiju@... (石塚圭樹 )
1998/11/20
けいじゅ@日本ラショナルソフトウェアです.
[#3607] Re: problem of Delegator
— matz@... (Yukihiro Matsumoto)
1998/11/20
まつもと ゆきひろです
[#3612] Re: problem of Delegator
— keiju@... (石塚圭樹 )
1998/11/20
けいじゅ@日本ラショナルソフトウェアです.
[#3613] Re: problem of Delegator
— matz@... (Yukihiro Matsumoto)
1998/11/20
まつもと ゆきひろです
[#3618] Re: problem of Delegator
— keiju@... (石塚圭樹 )
1998/11/20
けいじゅ@日本ラショナルソフトウェアです.
[#3619] Re: problem of Delegator
— matz@... (Yukihiro Matsumoto)
1998/11/20
まつもと ゆきひろです
[#3620] Re: problem of Delegator
— keiju@... (石塚圭樹 )
1998/11/20
けいじゅ@日本ラショナルソフトウェアです.
[#3647] Re: problem of Delegator
— matz@... (Yukihiro Matsumoto)
1998/11/24
まつもと ゆきひろです
[#3652] Re: problem of Delegator
— keiju@... (石塚圭樹 )
1998/11/24
けいじゅ@日本ラショナルソフトウェアです.
[#3653] Re: problem of Delegator
— matz@... (Yukihiro Matsumoto)
1998/11/24
まつもと ゆきひろです
[#3655] Re: problem of Delegator
— keiju@... (石塚圭樹 )
1998/11/24
けいじゅ@日本ラショナルソフトウェアです.
[#3621] Time object memory leak? — Masaki Fukushima <fukusima@...>
福嶋と申します。
6 messages
1998/11/21
[#3626] block local variable (Re: スコープの範囲) — shugo@... (MAEDA Shugo)
前田です。
47 messages
1998/11/22
[#3628] Re: block local variable (Re: スコープの範囲)
— Koji Arai <JCA02266@...>
1998/11/22
新井です。
[#3629] Re: block local variable (Re: スコープの範囲)
— shugo@... (MAEDA Shugo)
1998/11/22
前田です。
[#3632] Re: block local variable (Re: スコープの範囲)
— Koji Arai <JCA02266@...>
1998/11/22
新井です。
[#3633] Re: block local variable (Re: スコープの範囲)
— shugo@... (MAEDA Shugo)
1998/11/22
前田です。
[#3636] Re: block local variable (Re: スコープの範囲)
— Shin-ichiro Hara <sinara@...>
1998/11/23
原です。
[#3642] Re: block local variable (Re: スコープの範囲)
— Koji Arai <JCA02266@...>
1998/11/23
新井です。
[#3645] Re: block local variable(Re: スコープの範囲)
— Shin-ichiro Hara <sinara@...>
1998/11/23
原です。
[#3674] Re: block local variable(Re: スコープの範囲)
— Koji Arai <JCA02266@...>
1998/11/25
新井です。
[#3678] Re: block local variable(Re: スコープの範囲)
— matz@... (Yukihiro Matsumoto)
1998/11/26
まつもと ゆきひろです
[#3681] Re: block local variable(Re: スコープの範囲)
— Kazuhiro HIWADA <hiwada@...>
1998/11/26
ひわだです。
[#3682] Re: block local variable(Re: スコープの範囲)
— Shin-ichro Hara <sinara@...>
1998/11/26
原です。
[#3683] Re: block local variable(Re: スコープの範囲)
— matz@... (Yukihiro Matsumoto)
1998/11/26
まつもと ゆきひろです
[#3684] Re: block local variable(Re: スコープの範囲)
— Shin-ichro Hara <sinara@...>
1998/11/26
原です。
[#3685] Re: block local variable(Re: スコープの範囲)
— matz@... (Yukihiro Matsumoto)
1998/11/26
まつもと ゆきひろです
[#3686] nested method? (Re: block local variable)
— shugo@... (MAEDA Shugo)
1998/11/26
前田です。
[#3687] Re: nested method? (Re: block local variable)
— Kazuhiro HIWADA <hiwada@...>
1998/11/26
ひわだです。
[#3689] Re: nested method? (Re: block local variable)
— shugo@... (MAEDA Shugo)
1998/11/27
前田@大阪大学です。
[#3690] Re: nested method? (Re: block local variable)
— Kazuhiro HIWADA <hiwada@...>
1998/11/27
ひわだです。
[#3692] Re: [ruby-list:11096] Re: MacRuby — Wakou Aoyama <wakou@...>
青山です。
10 messages
1998/11/27
[#3698] Re: [ruby-list:11096] Re: MacRuby
— shugo@... (MAEDA Shugo)
1998/11/29
前田です。
[#3699] Re: [ruby-list:11096] Re: MacRuby
— Wakou Aoyama <wakou@...>
1998/11/29
青山です。
[#3703] Re: [ruby-list:11096] Re: MacRuby
— Shin-ichro Hara <sinara@...>
1998/11/30
原です。
[#3707] new delegator — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
6 messages
1998/11/30
[#3709] ruby-1.1c9 install 中に SEGV — Koji Arai <JCA02266@...>
新井です。
18 messages
1998/11/30
[#3876] Re: ruby-1.1c9 install 中に SEGV
— Koji Arai <JCA02266@...>
1998/12/20
新井です。
[#3883] Re: ruby-1.1c9 install 中に SEGV
— matz@... (Yukihiro Matsumoto)
1998/12/22
まつもと ゆきひろです
[#3965] Re: ruby-1.1c9 install 中に SEGV
— Koji Arai <JCA02266@...>
1998/12/24
新井です。
[ruby-dev:3638] Re: block local variable (Re: スコープの範囲)
From:
shugo@... (MAEDA Shugo)
Date:
1998-11-23 05:21:56 UTC
List:
ruby-dev #3638
前田です。
>>>>> In [ruby-dev:3634]
>>>>> "新井" == Koji Arai <JCA02266@nifty.ne.jp> san wrote:
>> あ、ひょっとしたらローカル変数の宣言を:=(もしくは::=)でしない
>> といけないようにする、という提案と勘違いなさってます?
新井> そういうわけではないです。
そうですか、失礼しましたm(..)m
新井> 気になってたのは、「Rubyは、変数宣言が不要な言語」
新井> が嘘になるということ。ただそれだけ。
新井> 結局、初めての代入は暗黙の宣言だし、このことが「見
新井> ためでブロックローカルかどうかを判断できない」原因
新井> なわけだし…
この場合は変数の宣言が不要なのがネガティブに働いてしまって
いるわけですね。
新井> 考えていたら、前田さんの案もいいように思えてきまし
新井> た。(新しい仕様は受け入れるのに時間がかかるモノで
新井> す ^^;)
ありがとうございます:-)
新井> 一応、"_" で始まる変数なら、|v,_v| のように、ブロッ
新井> クローカルにするかどうかを制御できる利点があること
新井> は言っておこう。
確かに僕の案ではこれはできませんね。
でも_だと普通の識別子なので、他の記号の方が良いような気がします。
僕の案の延長で|i:, j:|とするとブロックローカルになるようにするとか。
# 文法が破綻しそうな気が(^^;
新井> := が採用されれば、イテレータに新たなスコープを導
新井> 入しない件も採用すべきでしょうね。(その方がわかり
新井> やすい)
問題は原さんも指摘されてるように文法を変えすぎという
ことですが(^^;
新井> あとは、互換性の問題か。普通なら、
新井> 現在 提案
新井> iter {
新井> v = 0 宣言 宣言
新井> ....
新井> }
新井> v = 0 宣言 代入
新井> イテレータの後に必ず代入文があるはずだから、問題な
新井> さそうなんですが。
>> ブロック内変数は
>> Thread固有変数
>> 手続きオブジェクト固有変数
>> などのために必要なものです.
新井> この点が気になる。私は、Threadもprocもまだ未経験な
新井> のでよくわからないのですが、:= への書き直しが必要
新井> になるんでしょうね。(これの元記事ってどこですか?)
例えば、
loop do
ns = @server.accept
Thread.start do
while command = ns.read(1) # 何でgetcじゃなくてread(1)なの?>私
...
end
end
end
みたいなコードだとnsが各スレッドで共有されてしまうので動作が
おかしくなります。
これは
ns = @server.accept
Thread.start do
s = ns
while command = s.read(1)
...
のようにブロックローカルな変数に値を移すことで解決できます。
僕の案が採用されれば、これは
ns = @server.accept
Thread.start do
ns := ns
while command = ns.read(1)
...
と書くことになります。
上の場合だとブロックの外側でsが定義されているかどうか気に
しないといけないのですが、下の場合ではその必要はなくなります。
Procオブジェクトの場合は、ブロックの実行が遅延されることで、
似たような問題が起こります。
p = proc { foo = 0 }
foo = 1
p.call
ブロックローカルな変数がないと、fooが破壊されてしまいます。
# こちらは現実的な例を思いつきませんでした。
# Procの場合はThreadと組み合わせないかぎりあまり問題にならないのかも。
--
前田 修吾 (mailto:shugo@aianet.ne.jp)