[#3747] constants (or class vriable?) — Wakou Aoyama <wakou@...>

青山です。

20 messages 1998/12/06
[#3751] Re: constants (or class vriable?) — Shin-ichro Hara <sinara@...> 1998/12/07

原です。

[#3763] Re: constants (or class vriable?) — Wakou Aoyama <wakou@...> 1998/12/07

青山です。

[#3764] Re: constants (or class vriable?) — matz@... (Yukihiro Matsumoto) 1998/12/08

まつもと ゆきひろです

[#3767] Re: constants (or class vriable?) — kjana@... (YANAGAWA Kazuhisa) 1998/12/08

In message <199812080034.JAA05946@picachu.netlab.co.jp>

[#3826] ruby 1.1d0 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

35 messages 1998/12/16

[#3873] (?: ) does not work? — shugo@... (MAEDA Shugo)

前田です。

15 messages 1998/12/19

[#3881] I want to catch all jump — shugo@... (Shugo Maeda)

前田です。

17 messages 1998/12/21
[#3895] Re: I want to catch all jump — matz@... (Yukihiro Matsumoto) 1998/12/22

まつもと ゆきひろです

[#3894] ruby 1.1d1 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1998/12/22

[#3899] interpreter reinitialization — shugo@... (Shugo Maeda)

前田です。

22 messages 1998/12/22
[#3923] Re: interpreter reinitialization — matz@... (Yukihiro Matsumoto) 1998/12/23

まつもと ゆきひろです

[#3926] Re: interpreter reinitialization — shugo@... (Shugo Maeda) 1998/12/23

前田です。

[#3931] Re: interpreter reinitialization — matz@... (Yukihiro Matsumoto) 1998/12/24

まつもと ゆきひろです

[#3956] Re: interpreter reinitialization — shugo@... (Shugo Maeda) 1998/12/24

前田です。

[#3960] Re: interpreter reinitialization — matz@... (Yukihiro Matsumoto) 1998/12/24

まつもと ゆきひろです

[#4002] config.guess — Koji Arai <JCA02266@...>

新井です。

24 messages 1998/12/26
[#4039] Re: config.guess — matz@... (Yukihiro Matsumoto) 1998/12/29

まつもと ゆきひろです

[#4045] Re: config.guess — Koji Arai <JCA02266@...> 1998/12/31

新井です。

[#4047] Re: config.guess — matz@... (Yukihiro Matsumoto) 1999/01/01

まつもと ゆきひろです

[#4048] Re: config.guess — Koji Arai <JCA02266@...> 1999/01/01

新井です。

[#4049] Re: config.guess — matz@... (Yukihiro Matsumoto) 1999/01/02

まつもと ゆきひろです

[#4050] Re: config.guess — Motoyuki Kasahara <m-kasahr@...> 1999/01/04

笠原です。

[#4030] module Precision — gotoken@... (GOTO Kentaro)

ごとけんです

78 messages 1998/12/28
[#4310] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/01/21

ごとけんです

[#4311] Re: module Precision — matz@... (Yukihiro Matsumoto) 1999/01/21

まつもと ゆきひろです

[#4312] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/01/21

ごとけんです

[#4317] Re: module Precision — keiju@... (石塚圭樹 ) 1999/01/21

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

[#4364] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/01/25

ごとけんです

[#4478] Re: module Precision — matz@... (Yukihiro Matsumoto) 1999/01/28

まつもと ゆきひろです

[#4506] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/01/30

ごとけんです

[#4552] Re: module Precision — matz@... (Yukihiro Matsumoto) 1999/02/01

まつもと ゆきひろです

[#4557] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/02/01

ごとけんです

[#4632] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/02/03

ごとけんです

[#4647] Re: module Precision — keiju@... (石塚圭樹 ) 1999/02/03

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

[#4648] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/02/03

ごとけんです

[#4633] Re: module Precision — matz@... (Yukihiro Matsumoto) 1999/02/03

まつもと ゆきひろです

[#4636] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/02/03

ごとけんです

[#4836] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/02/08

ごとけんです

[#4843] Re: module Precision — keiju@... (石塚圭樹 ) 1999/02/08

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

[#4849] Re: module Precision — gotoken@... (GOTO Kentaro) 1999/02/08

ごとけんです

[#4924] Re: module Precision — keiju@... (石塚圭樹 ) 1999/02/09

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

[#4976] a genericity — gotoken@... (GOTO Kentaro) 1999/02/10

ごとけんです

[#5008] Re: a genericity — keiju@... (石塚圭樹 ) 1999/02/11

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

[#5018] Re: a genericity — gotoken@... (GOTO Kentaro) 1999/02/11

ごとけんです

[#5171] Re: a genericity — keiju@... (石塚圭樹 ) 1999/02/16

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

[ruby-dev:3757] Re: List()

From: Shin-ichro Hara <sinara@...>
Date: 1998-12-07 13:51:38 UTC
List: ruby-dev #3757
原です。

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 はナシという案もある。(^^;;

In This Thread