[#18651] Enumerable#zip — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

77 messages 2002/11/05
[#18659] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/06

原です。

[#18669] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/06

まつもと ゆきひろです

[#18675] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/07

原です。

[#18684] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/07

まつもと ゆきひろです

[#18690] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/08

原です。

[#18728] Re: Enumerable#zip — Daisuke Aoki <dai@...> 2002/11/09

青木@横浜です。基本的にROM な人間なんですがなんとなく書いてみました。

[#18774] Re: Enumerable#zip — Daisuke Aoki <dai@...> 2002/11/13

青木@横浜です。

[#18799] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/15

原です。

[#18802] Re: Enumerable#zip — Tanaka Akira <akr@...17n.org> 2002/11/15

In article <5.1.1.8.2.20021115145423.03541008@blade.nagaokaut.ac.jp>,

[#18803] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/15

まつもと ゆきひろです

[#18806] Re: Enumerable#zip — Tanaka Akira <akr@...17n.org> 2002/11/15

In article <1037348006.479453.32695.nullmailer@picachu.netlab.jp>,

[#18808] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/15

まつもと ゆきひろです

[#18823] Re: Enumerable#zip — Shugo Maeda <shugo@...> 2002/11/18

前田です。

[#18833] Re: Enumerable#zip — Tanaka Akira <akr@...17n.org> 2002/11/18

In article <8765uv4fu7.wl@studly.priv.netlab.jp>,

[#18835] Re: Enumerable#zip — Shugo Maeda <shugo@...> 2002/11/18

前田です。

[#18845] Re: Enumerable#zip — Tanaka Akira <akr@...17n.org> 2002/11/19

In article <874raf6xuc.wl@studly.priv.netlab.jp>,

[#18870] Re: Enumerable#zip — Shugo Maeda <shugo@...> 2002/11/21

前田です。

[#18873] Re: Enumerable#zip — Tanaka Akira <akr@...17n.org> 2002/11/21

In article <87fztv5zir.wl@studly.priv.netlab.jp>,

[#18692] Re: Enumerable#zip — Tanaka Akira <akr@...17n.org> 2002/11/08

In article <4.3.2-J.20021108124934.033a2eb0@blade.nagaokaut.ac.jp>,

[#18696] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/08

原です。

[#18713] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/09

まつもと ゆきひろです

[#18719] Re: Enumerable#zip — Tanaka Akira <akr@...17n.org> 2002/11/09

In article <1036742681.769607.13070.nullmailer@picachu.netlab.jp>,

[#18721] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/09

まつもと ゆきひろです

[#18723] Re: Enumerable#zip — Tanaka Akira <akr@...17n.org> 2002/11/09

In article <1036847474.074389.7942.nullmailer@picachu.netlab.jp>,

[#18735] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/11

原です。

[#18746] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/11

まつもと ゆきひろです

[#18749] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/12

原です。

[#18766] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/13

まつもと ゆきひろです

[#18800] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/15

原です。

[#18801] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/15

まつもと ゆきひろです

[#18804] Re: Enumerable#zip — Shin-ichiro HARA <sinara@...> 2002/11/15

原です。

[#18805] Re: Enumerable#zip — matz@... (Yukihiro Matsumoto) 2002/11/15

まつもと ゆきひろです

[#18754] Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7 — "NAKAMURA, Hiroshi" <nahi@...>

なひです。

27 messages 2002/11/12
[#18755] Re: Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7 — nobu.nakada@... 2002/11/12

なかだです。

[#18776] Re: Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/11/14

なひです。

[#18777] Re: Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/11/14

なひです。ひええすいません、タブが落ちちゃった。

[#18789] Re: Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7 — "NAKAMURA, Hiroshi" <nahi@...> 2002/11/14

なひです。

[#18795] Re: Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7 — nobu.nakada@... 2002/11/15

なかだです。

[#18820] deprecated method( Re: Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7) — nobu.nakada@... 2002/11/18

なかだです。

[#18821] Re: deprecated method( Re: Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7) — matz@... (Yukihiro Matsumoto) 2002/11/18

まつもと ゆきひろです

[#18825] Re: deprecated method( Re: Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7) — nobu.nakada@... 2002/11/18

なかだです。

[#18861] class variables — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

31 messages 2002/11/20
[#18913] Re: class variables — "K.Kosako" <kosako@...> 2002/11/22

Yukihiro Matsumotoさんの

[#18895] [patch] install bat file on Windows — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

14 messages 2002/11/22
[#18900] Re: [patch] install bat file on Windows — "Akinori MUSHA" <knu@...> 2002/11/22

At Fri, 22 Nov 2002 11:09:19 +0900,

[#18903] Re: [patch] install bat file on Windows — "U.Nakamura" <usa@...> 2002/11/22

こんにちは、なかむら(う)です。

[#18966] [ONIGURUMA] \S doesn't match multibyte char (Re: [ruby-list:36618] Re: 全角文字に挟まれた半角スペースを削除するには?) — nobu.nakada@...

なかだです。

13 messages 2002/11/28

[ruby-dev:18891] Re: internal/external iterator (Re: Re: Enumerable#zip)

From: matz@... (Yukihiro Matsumoto)
Date: 2002-11-21 18:57:30 UTC
List: ruby-dev #18891
まつもと ゆきひろです

In message "[ruby-dev:18890] internal/external iterator (Re:  Re: Enumerable#zip)"
    on 02/11/22, Tanaka Akira <akr@m17n.org> writes:
|
|In article <1037884596.418916.10540.nullmailer@picachu.netlab.jp>,
|  matz@ruby-lang.org (Yukihiro Matsumoto) writes:
|
|> |内部イテレータと呼べるかどうかは、何を「イテレータ」と見るかによ
|> |るんじゃないでしょうか?
|
|GoF 本のあの文脈における「イテレータ」というのはは外部イテレータの場合
|は Iterator クラス(ないしそれ以下のクラス階層)、内部イテレータの場合は
|ブロックやクロージャを受け取るメソッドを指しているように思えます。
|
|いずれにしても、制御を抽象化するコードを書く部分をイテレータと呼んでい
|るのでしょう。

ま、同意します。が、「外部イテレータ」と呼ばれているものは
「要素の繰り返し」しか考えていないように見えるのに対して、
「内部イテレータ」と呼ばれているものはRubyの(Smalltalkの)
collect, select, detectのように単なる要素の繰り返しを越えて
より抽象度の高い使われ方をするように思います。

内部・外部という名前が適切でないという点は同意するとして、実
は最終的にはここが一番重要な違いだったりして。

この観点からは提案されているC#のイテレータは(1種類しか定義で
きないので)外部イテレータ的ですね。Pythonのは...うーん、どう
だろう。collect, select, detectは素直には書けないような。
Pythonのyieldは値を帰しませんよね。

|generator.rb は外部イテレータのふりをした内部イテレータを実現する?

あえて言えばgenerator.rbは「内部イテレータを利用して外部イテ
レータを実装する」でしょう。

|なんというか、外部と内部という名前がなんの意味もない気がするんですけど。
|foo と bar に置き換えてもいいというか、どこがどう内部なんですかと尋ね
|たくなるというか。

うーん、Pythonのはgeneratorだからイテレータではない(ので、外
部・内部の分類の対象ではない)という論法はありえますよね。苦
しいけど。C#のは...もっと苦しいなあ。^^;;;

えーと、ここまでの考察から得られる結論は

  * 内部イテレータ・外部イテレータという分類はSmalltalkとC++
    という限定した「繰り返し機能」についてしか有効ではない
    (ような気がする)。

  * Rubyのは(Smalltalk的)内部イテレータと呼んでも問題はない。
    実質的に大差ないから。

  * でもPythonのgeneratorや将来のC#のイテレータに関してはイ
    テレータの内部・外部の分類には意味がない(のかなあ)。しか
    し、発想としては外部イテレータに近い気がする。

    呼び出し側はfor(foreach)文でイテレータ(ジェネレータ)オブ
    ジェクトの生成と個々の要素の取り出しを隠蔽していますが、
    これはマクロによる隠蔽と大差ないし、定義側もブロックやク
    ロージャを受けているわけではないので、結局は要素を個別に
    与えるくらいしか出来ないし。

てなことなんでしょうか。

                                まつもと ゆきひろ /:|)

In This Thread