[#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:2902] Re: what type are true and false

From: keiju@... (石塚圭樹 )
Date: 1998-06-17 15:25:23 UTC
List: ruby-dev #2902
けいじゅ@日本ラショナルソフトウェアです.

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

>|えーと. コンパイル時ではなくて動的にローカル変数を決めるのは, 
>|
>|* 実装が難しい
>|* 静的に解釈する方が良い仕様
>|
>|どっち?
>
>既に「現に静的に解釈していて仕様がそれに依存している」です.
>具体的には引数なしの識別子がローカル変数にもメソッドにもなる
>部分です.他にもあったような….

そうすると. 

NameError: undefined local variable or method `ffoo'

というエラーが出ますが, は実はそうじゃないんですね. この段階では`ffoo'
は, メソッドであると決まっているんですね.

>なお,効率の問題もありますから静的に解決できることは静的に解
>決したいという思いはあります.

うーん. なるほど....

>|  (proc {foo = 10}).call       # ブロック中なのでブロック内ローカル変数
>|
>|これは, やはり静的な構文上で初出かつ入れこのブロック中なのでその入れこ
>|のブロックのローカル変数になるのでは?
>
>ここで「rubyの変数にネストはない」というルールが出て来ます.
>つまり,ローカル変数にはブロック内変数かそうでないかの2種類
>しかなく,それらは名前が同じなら外側のものを使います.
># 例外は[ruby-list:8378]だけです.

>つまり,proc{foo=10}.callが実行される時点ですでにevalによっ
>てfooというブロック内変数が定義されてしまっているので,そち
>らの値を変更してしまいます.

つまり, proc{...}内の変数の共有はprocを実行する時に決まり, 静的に決ま
るわけではないってことですね?

と思ったけども,

1.times do
  eval "foo = 0"
  (proc{foo = 10}).call
  eval "p foo"
end
--
10

ですから, ブロックの実行時に決まっているのかな?

あ. でも,

proc {
  p = proc{}
  foo = 1
  eval "foo = 10", p
  p foo
}.call
--
1

なんですね. 実行中に{}が現れた時点での, コンテキストってことになるのか
な?

でも.

  proc {
    eval "bar = 0"
    (proc{p bar}).call
  }.call

は. NameErrorなんですね....

現象としては理解できたとしても, 何で完全に静的に解釈していない. つまり,

def zz
  eval "foo = 0"
  (proc {foo = 10}).call
  eval "p foo"
end

zz

と同じ結果にならないのか今1つなっとくがいきません.

>ここで「rubyの変数にネストはない」というルールが出て来ます.

があろうとなかろうと, 静的に解析してそこで変数を共有するかしないか決め
ても良いような気がするんですけど?

>evalが絡むとこのようなネストしたローカル変数が出て来るのでい
>やらしいですね.ひとつひとつのルールは合理的なようでも,全体
>の動作は良く分からなくなると.まるでperlのようだ.^^;;;

うーん. 最近, なんとなくはまっていますよね(^^;;;

>私としても,evalも絡んでどのようにあるべきかということについ
>て,決定的な見解を持っているわけではありませんので,提案など
>は大歓迎します.

というか良く分かってないのかも...

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

In This Thread