[#13083] [PATCH] ruby 1.7 compile error on mswin32 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#13087] importing forwardable — "Akinori MUSHA" <knu@...>
石塚さんの forwardable.rb を標準添付ライブラリにするべく、
まつもと ゆきひろです
At Thu, 3 May 2001 15:03:48 +0900,
At Thu, 3 May 2001 17:46:21 +0900,
けいじゅ@日本ラショナルソフトウェアです.
At Fri, 4 May 2001 04:07:37 +0900,
けいじゅ@日本ラショナルソフトウェアです.
[#13114] defined? $& — Koji Arai <JCA02266@...>
新井です。
[#13116] instance_eval のバグ — Masato KIYAMA <masato@...>
木山です.
なかだです。
前田です。
前田です。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#13169] SizedQueue#pop causes deadlock — "Okada Jun" <yun@...>
岡田です。
At Sun, 13 May 2001 14:11:18 +0900,
まつもと ゆきひろです
At Mon, 14 May 2001 00:24:45 +0900,
まつもと ゆきひろです
At Mon, 14 May 2001 08:59:23 +0900,
まつもと ゆきひろです
At Tue, 15 May 2001 03:31:54 +0900,
まつもと ゆきひろです
わたなべです。
さきほど、 HEAD への ruby-sha1 のインポートを完了しました。 :)
こんにちは、なかむら(う)です。
[#13195] スレッドで ctrl-c が効かなくなる ? — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
新井です。
新井です。
[#13202] Re: [ruby-list:29672] Re: Enumerator — "Akinori MUSHA" <knu@...>
ruby-dev に移ります。
間違えて ruby-list に送ってしまったので、 ruby-dev に出し
まつもと ゆきひろです
At Wed, 16 May 2001 01:01:31 +0900,
Akinori MUSHAさんの<86ae4envtc.wl@archon.local.idaemons.org>から
At Wed, 16 May 2001 13:48:20 +0900,
[#13259] Enumerator -- Round 2 — "Akinori MUSHA" <knu@...>
もう一度、 Enumerable/Enumerator についてみなさんのご意見を
まつもと ゆきひろです
At Mon, 21 May 2001 06:04:32 +0900,
原です。
At Mon, 21 May 2001 15:00:11 +0900,
原です。
At Tue, 22 May 2001 19:02:10 +0900,
原です。
At Tue, 22 May 2001 20:57:02 +0900,
原です。
At Thu, 24 May 2001 15:44:14 +0900,
ごとうゆうぞうです。
[#13266] ruby-1.7 irb — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#13277] ext/dbm in ruby 1.7 — Kazuhiro NISHIYAMA <zn@...>
ruby 1.7のext/dbmですが、
まつもと ゆきひろです
渡辺哲也です。
まつもと ゆきひろです
渡辺哲也です。
まつもと ゆきひろです
[#13292] Integer("X") rescue -1 が parse error — YASUI Kentarow <kenyasui@...>
安井です。
まつもと ゆきひろです
At Wed, 23 May 2001 08:59:50 +0900,
At Thu, 24 May 2001 14:15:04 +0900,
まつもと ゆきひろです
At Thu, 24 May 2001 16:52:24 +0900,
[#13299] Proc#call weirdness ? — "Akinori MUSHA" <knu@...>
Proc#call は引数を配列化して渡しているようですが、これを
まつもと ゆきひろです
At Thu, 24 May 2001 14:25:22 +0900,
原です。
まつもと ゆきひろです
[#13336] lib/README — Kazuhiro NISHIYAMA <zn@...>
ruby_1_6のlib/READMEにcgi.rb,forwardable.rb,irb.rbの説明が
[#13357] glob & fnmatch — "Akinori MUSHA" <knu@...>
以下の機能追加をするのはいかがでしょうか。
[#13366] StringBuffer — Shugo Maeda <shugo@...>
前田です。
[#13370] clearerr(3) — Satoru Takabayashi <satoru@...>
高林と申します
Satoru Takabayashi <satoru@namazu.org> wrote:
[#13391] TCL_PACKAGE_PATH — WATANABE Hirofumi <eban@...>
わたなべです.
[#13415] ruby-gtk-0.24,0.25 が CPU を使い切る — a-shigi@...
ども鴫原です。
<20010531002634.371239@localhost>の記事において
[#13428] mswin32/ming32 system patch (experimental) — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
[ruby-dev:13325] Re: Enumerator -- Round 2
ごとうゆうぞうです。
In message <86pucz9cu5.wl@archon.local.idaemons.org>,
`"Akinori MUSHA" <knu@iDaemons.org>' wrote:
>
> files = Find['.'].select { |f| File.file?(f) }
>
> などということができてとても便利になります。ユーザからは特に
> Enumerator という存在は見えませんが、ライブラリ側からすると、
> この陰の存在によって手軽に Enumerable なオブジェクトを生成して
> 返すことが可能になっています。
そう思います。似たようなことを考えていました。
> # 実は、 Enumerator の改良案を練っていたのですが、 C API 的に
> # あまりうれしさがないことと、使い方の具体例が思い浮かばない
> # ことで頓挫してしまいました。現行の提案仕様で十分かも。;)
組み込みが目標なので、もっと進めましょう ^^;
self を返しているようなイテレータはブロックをもらわない場合は、
Enumerator を返すようになれば便利だと思います。
module Find
alias find0 find
def find(*path)
if iterator?
find0(*path){ |e| yield e }
else
Enumerator.new(self, :find0, *path)
end
end
module_function :find
module_function :find0
end
module Enumerable
alias each_with_index0 each_with_index
def each_with_index
if iterator?
each_with_index0{ |e,i| yield(e,i) }
else
Enumerator.new(self, :each_with_index0)
end
end
end
すると、次のようにメソッドチェーンが記述できます。
Find::find("/tmp").each_with_index.collect{ |e,i|
[i, e]
}
この調子で拡張して行けば、
1.upto(10).each_slice(2).collect{ |a| a }
#=> [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
等も可能だし、名前もそのままでいいように思います。
# これを each_なんとか という名前のまま使っても違和感がなけれ
# ば、というのが前提ですけど。
この仕様だと、全体にばらまかなければ嬉しさが半減するのですが、
さすがに影響が大きすぎるように思います。そこで、ひとまず
enumerator.rb で再定義して使ってみるというのはどうでしょうか。
それから、本題と外れますが、alias した関数は module_function
し直さないと LocalJumpError になってしまうのは、仕様でしょうか?
$ cat f.rb
require 'find'
module Find
alias find0 find
end
Find::find("/tmp")
$ ruby -v f.rb
ruby 1.7.0 (2001-05-22) [i386-netbsd1.5U]
/usr/local/lib/ruby/1.7/find.rb:15:in `find': yield called out of block (LocalJumpError)
from /usr/local/lib/ruby/1.7/find.rb:14:in `catch'
from /usr/local/lib/ruby/1.7/find.rb:14:in `find'
from f.rb:5
--
ごとうゆうぞう