[#3747] constants (or class vriable?) — Wakou Aoyama <wakou@...>
青山です。
原です。
青山です。
まつもと ゆきひろです
In message <199812080034.JAA05946@picachu.netlab.co.jp>
立石です。
まつもと ゆきひろです
[#3773] pack("M")/unpack("M") — shugo@... (MAEDA Shugo)
前田です。
[#3794] port NetBSD/ alpha 1.3I — SHIROYAMA Takayuki <psi@...>
[#3826] ruby 1.1d0 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
渡辺哲也です。
ふなばです。
笠原です。
前田です。
[#3851] tkutil patch (for 1.1d0) — ttate@...
立石です。
[#3859] missing/setenv.c in 1.1d0 — Inaba Hiroto <inaba@...>
稲葉です。こんなにパッチがあると、みのがされてしまうかも。
[#3862] 1.1d0 new here document — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
[#3873] (?: ) does not work? — shugo@... (MAEDA Shugo)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
白山@Stellarです。
[#3881] I want to catch all jump — shugo@... (Shugo Maeda)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
[#3894] ruby 1.1d1 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
[#3899] interpreter reinitialization — shugo@... (Shugo Maeda)
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
[#3962] ruby 1.3(!) released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#3966] [BUG] exception in safe level 4 — shugo@... (Shugo Maeda)
前田です。
[#3997] [BUG] "#{}" while 1 — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
[#4002] config.guess — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
笠原です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
[#4005] [BUG] ruby 1.3(98/12/24) [i686-linux] at rb_gc_mark() — Ryo HAYASAKA <hayasaka@...>
早坂@会津大学といいます。
In message "[ruby-dev:4005] [BUG] ruby 1.3(98/12/24) [i686-linux] at rb_gc_mark()"
早坂@会津大学です。
[#4015] Integer proper methods — gotoken@... (GOTO Kentaro)
ごとけんです
[#4030] module Precision — gotoken@... (GOTO Kentaro)
ごとけんです
ごとけんです
まつもと ゆきひろです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
ごとけんです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
ごとけんです
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
けいじゅ@日本ラショナルソフトウェアです.
最近あんまり建設的でないわたし.
けいじゅ@日本ラショナルソフトウェアです.
ごとけんです
原です。
[#4032] [Req] make-symbol? — shugo@... (Shugo Maeda)
前田です。
[ruby-dev:3757] Re: List()
原です。
In message "[ruby-dev:3754] Re: List()"
on 98/12/07, Yukihiro Matsumoto <matz@netlab.co.jp> writes:
|
|まつもと ゆきひろです
結局私も (2) 案なんですが、、
| (2) List案の1
|
| returnやyieldは配列ではなく,それに良く似たList(仮称)
| を生成する.*a = LISTはa=[LIST]またはa=[[中身]]になる.
| 他は一緒.
この「a=[[中身]]」というのがわかりません。「*a = LISTはa=[LIST]
であり例外はない」というのが原(はら)案なんですが。
| (1) 現状
|
| return, yieldにひとつの値を渡すとそのまま,複数の値を
| 渡すと配列として渡される
|
| (2) List案の1
|
| returnやyieldは配列ではなく,それに良く似たList(仮称)
| を生成する.*a = LISTはa=[LIST]またはa=[[中身]]になる.
| 他は一緒.
一応補足すると (2) は2つに分けられて
(2a) List案の1a
return, yieldにひとつの値を渡すとそのまま,複数の値を
渡すと List(仮称) として渡される.*a = LISTはa=[LIST]
になる.他は一緒.
(2b) List案の1b
returnやyieldは配列ではなく,それに良く似たList(仮称)
をいつも生成する.*a = LISTはa=[LIST].他は一緒.
となりますが、この両者はほとんど同じなので、(2a) を私の案とします。
List はユーザーには見えないとします。
|で,いろいろ考えて(2)案は有望かなと思ってたんですが,return
|のことを考えるとListをユーザに見せないというのはちょっと無理
|だということに気が付きました.そうなると
|
| この配列のように見えるものが配列かListかいつも意識しなけ
| ればならない
|
|という嬉しくない事態が発生します.違いは多重代入の左辺をrest
|だけで受けた時だけなのでさしたる違いではないのでしょうが,私
|がとまどうには十分な理由です.どう思います?
なぜ return のことを考えると List をユーザーに見せざるを得ない
のかわかりません。そういえば return を話題にするのは初めてです
が、、、
foo をメソッドとして return 1, 2 とした場合
x = foo # x = [1, 2]
x, *y = foo # x = 1, y = [2]
*x = foo # x = [1, 2]
return [1, 2] とした場合
x = foo # x = [1, 2]
x, *y = foo # x = 1, y = [2]
*x = foo # x = [[1, 2]]
とするのが私の案です。これは yield 1, 2 を |x|, |x, *y|, |*x| で
受けた場合と全く同様です。もちろん
foo.bar
とかも [1, 2].bar になるわけです。
なんか、これって Perl のスカラー・コンテクスト、配列コンテクスト
みたいでいやらしい様に思われるけどそれは誤解で、return 側はひた
すら List (あるいはオブジェクト)を返しているだけです。つまり、
wantarray? があるわけではなくて、場合によって多重代入(の拡張)
がなされているだけです。
そして、全体を通じて現状と非互換なのは *x = オブジェクトだけ。
|で,いろいろ考えて(2)案は有望かなと思ってたんですが,return
|のことを考えるとListをユーザに見せないというのはちょっと無理
|だということに気が付きました.そうなると
あ、もしかして return 1, 2 が何を返しているかってことですか?
それはやはり「複数のオブジェクト」かな。いままでなかったもの
だから何と呼んでもいいでしょ。(^^;
return LIST はナシという案もある。(^^;;