[#9445] thread.rb — m_seki@...

18 messages 2000/03/16
[#9446] Re: thread.rb — matz@... (Yukihiro Matsumoto) 2000/03/17

[#9460] Re: thread.rb — m_seki@... 2000/03/21

[#9462] Re: thread.rb — matz@... (Yukihiro Matsumoto) 2000/03/21

まつもと ゆきひろです

[#11281] Re: thread.rb — Masatoshi SEKI <m_seki@...> 2000/10/22

[#9498] timeout しない timeout — ARIMA Yasuhiro <fit0298@...>

有馬です。

20 messages 2000/03/26
[#9506] Re: timeout しない timeout — matz@... (Yukihiro Matsumoto) 2000/03/27

まつもと ゆきひろです

[#9509] Re: timeout しない timeout — gotoken@... (GOTO Kentaro) 2000/03/27

In message "[ruby-dev:9506] Re: timeout しない timeout"

[ruby-dev:9329] Re: 代入

From: ta-ka-si@...
Date: 2000-03-01 00:39:56 UTC
List: ruby-dev #9329
In message "[ruby-dev:9325] Re: 代入"
    on "WATANABE Hirofumi" <eban@os.rim.or.jp> wrote:

> わたなべです.
> 
> ta-ka-si@blue.auc.co.jp <ta-ka-si@blue.auc.co.jp> writes:
> 
> :代入が右辺に来てはいけないのでしょうか?
> 
> うーむ. 何を意味してるのかさっぱりわからない.

申し訳ありません。
よくアルゴリズムの例にあるような、左辺に式を書き、右辺に
左辺値が来るという書式をRubyでサポートする、ということです。
式をそのまま書く系の言語においては、このようなサポートは
なかなかないのではと思ったもので、本質的にまずい点があろうかと
思ったところです。

> 具体例を挙げてください.

1 -> foo
foo + 1 -> foo

むしろ、2つ目のように、初心者に理解しやすい構文になろうかと
思います。(この文字 '->' がそういう風に見えるだけでしょうけど)
僕はパーサについては分からないので、どのような文字が適切かは
識者にお願い致します。

> :行が長くなったり、変数にしないとまずかったとかいうのを
> :行末で思うことがたびたびあります。
> 
> foo が変数として
> foo
> = 1
> とは書けないってことでしょうか?

= の意味を拡張する以外はその通りだと思います。

> :書いてない人にはかなり辛い仕打ちですが…
> 
> これも意味不明です.

左辺値が左に存在するのは、ふつうの言語では当たり前だと思いますし、
Rubyも例外ではありませんでした。この構文が許されることになると、
左側に左辺値がなくとも、左辺値としての副作用が後ろの行に存在する
ことを、行頭でもある程度認識しておかないといけなくなることも
慣れないうちは考えられると思ってのことです。

実際、

Dir[File.expand_path '~/Mail/mail/*'] -> ary
ary.collect {|i| open(i).grep(/\AFrom:/).display }

とか、行の折り返しがあるときでも気軽には書けると思います。

--
池田孝志

In This Thread