[#2810] [BUG] IO#eof? when Thread using — keiju@... (Keiju ISHITSUKA)

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

31 messages 1998/06/08
[#2826] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2827] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

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

[#2828] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2829] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

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

[#2831] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2841] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

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

[#2842] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/10

まつもと ゆきひろです

[#2843] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/10

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

[#2845] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2846] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/11

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

[#2847] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2848] Re: [BUG] IO#eof? when Thread using — keiju@... (石塚圭樹 ) 1998/06/11

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

[#2849] Re: [BUG] IO#eof? when Thread using — matz@... (Yukihiro Matsumoto) 1998/06/11

まつもと ゆきひろです

[#2854] experimental release 1.1b9_25 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

23 messages 1998/06/11
[#2870] Re: experimental release 1.1b9_25 — Takahiro Maebashi <maebashi@...> 1998/06/15

前橋です。

[#2911] experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

33 messages 1998/06/18
[#2912] Re: experimental release 1.1b9_26 — WATANABE Hirofumi <watanabe@...> 1998/06/18

わたなべです.

[#2913] Re: experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto) 1998/06/18

まつもと ゆきひろです

[#2916] Re: experimental release 1.1b9_26 — Takahiro Maebashi <maebashi@...> 1998/06/18

前橋です。

[#2917] Re: experimental release 1.1b9_26 — matz@... (Yukihiro Matsumoto) 1998/06/18

まつもと ゆきひろです

[#2940] experimental release 1.1b9_27 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

21 messages 1998/06/19

[#2965] feature freeze for 1.1c — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1998/06/22

[#3056] experimental release 1.1b9_28 — matz@... (Yukihiro Matsumoto)

subject says all.

28 messages 1998/06/26
[#3104] Re: experimental release 1.1b9_28 — Takahiro Maebashi <maebashi@...> 1998/06/30

前橋です。

[#3086] Re: Enumerable#reverse ([ruby-list:8579]) — gotoken@... (GOTO Kentaro)

ごとけんです

19 messages 1998/06/29
[#3120] Re: Enumerable#reverse ([ruby-list:8579]) — keiju@... (Keiju ISHITSUKA) 1998/06/30

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

[#3130] Re: Enumerable#reverse ([ruby-list:8579]) — gotoken@... (GOTO Kentaro) 1998/06/30

ごとけんです

[#3146] [REQ] trace_func — keiju@... (Keiju ISHITSUKA)

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

15 messages 1998/06/30
[#3190] Re: [REQ] trace_func — matz@... (Yukihiro Matsumoto) 1998/07/02

まつもと ゆきひろです

[#3807] Re: [REQ] trace_func — keiju@... (石塚圭樹 ) 1998/12/14

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

[ruby-dev:2906] Re: what type are true and false

From: keiju@... (石塚圭樹 )
Date: 1998-06-18 05:16:08 UTC
List: ruby-dev #2906
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :2903 ] the message: "[ruby-dev:2903] Re: what type are
true and false ", on Jun/18 11:29(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>  (1) 以下のコードが不自然
>
>        eval "foo = 1"
>        foo     # => NameError
>
>  (2) 以下のコードが不自然
>
>        proc{
>          eval "foo = 1"
>          proc {foo = 10}.call
>          eval "foo" # => 10
>        }.call

そうなんですね. これってお互いに相反していいる部分があるので, 両方を成
立することはできないですね.

>で,1の方は
>
>        evalがあった場合にはそれを優先する
>
>ことを求めています.つまり,静的のプログラム上には登場しなく
>ても,evalで評価されたならローカル変数として認めてくれと言う
>ことですね.これによるメリットは
>
>  * evalによるローカル変数のずれがなくなる
>  * irbの挙動と一致する

まあ, irbのことはさておき.

>です.デメリットは
>
>  * 以下のコードが理解しにくくなる
>
>        $str = "foo = 25"
>
>        # 別の何処か
>        eval $str
>        foo     # これは変数かメソッドか
>
>    現状なら局所的に見るだけでこれがメソッド呼び出しであるこ
>    とを保証できます.

うーん. それはいえますね. 今の仕様が良いような気がしてきました. 

# μ-lispじゃないけどわけわかな動作の元になりそう(^^;;; 
# 懐かし過ぎる話題だ(^^;;;

>  * 実行コストが若干上がる
>    実はもうテスト的に実装してみました.

# しかし相変わらず素早い(^^;;;

>デメリットのうち後者は些細なものなので,さしたる問題は無いの
>ですが,前者は若干不満です.もっともirbとの挙動が揃うという
>のはかなり重要なのですが.

irbというか逐次実行のイメージってことですよね. 

``これは, ローカル変数の決定は静的に行なわれる.''という方針が明確にす
ればそれで良いと思います.

>さて,2番目の問題の方は
>        evalがあっても場合プログラムの字面を優先する
>ポリシーを求めています.ということは1とは相反しますね.
>同時に達成することは出来そうにありません.(- -);

ですね.

>これによるメリットは
>  * とりあえず関数版と同じ動作を実現できる
>  * evalのあるなしがローカル変数のスコープに影響しない
>というものがあります.私は個人的にはevalに渡す文字列の内容を
>見なくても変数のスコープが決定できることが好みなので,こっち
>を採用したい気持ちはあります.

私もこっちをやった方が良いという気になっています. というか, 元々の方針
とずれていると思っていたんですけどね.

># もっともevalによる影響を無効化はできないので,程度問題では
># ありますが.

後どんな場合があるんですかね?

>こちらもテスト的に実装してみました.こちらは実行コストはかか
>りません.むしろ,若干処理が減ります.

>こちらのデメリットは,1と矛盾することから
>  * irbとの挙動の違いを克服できない
>ということでしょうか.

irbのFAQに入れておきます(^^;;; 

こういう時は, begin...endを明示的に入れて, バッチ実行してねって感じ. 

# でも, 問題がありました最後のPS参照.

>いずれにしても今のrubyの挙動は通常ローカル変数はevalによって
>スコープの影響を受けず,ブロック内ローカル変数はevalによる影
>響を受けるという中途半端な仕様ですから,1か2か「どちらか」を
>採用する必要があるようです.

ですね. 現在は中途半端ですよね. 

私も2に1票です.

>どちらも実装しちゃいましたので,どっちでも手間は同じなんです
>がね.

# うーん. 素晴らしい....

PS.
現在ですと, 以下の2つの動作が違っているので, それも一致するのを確認し
てからリリースしてね.

eval '
begin
   eval "foo2 = 0"
   (proc {foo2 = 10}).call
   eval "p foo2"
end
'

p = proc{proc{}}.call

eval '
begin
   eval "foo3 = 0"
   (proc {foo3 = 10}).call
   eval "p foo3"
end
', p

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread