[#18633] Re: [ruby-cvs] ruby, ruby/bcc32, ruby/ext, ruby/win32: * Makefile.in, ext/extmk.rb, bcc32/Makefile.sub, — "Akinori MUSHA" <knu@...>
At Sun, 3 Nov 2002 21:42:14 +0000,
わたなべです。
西山和広です。
わたなべです。
西山和広です。
[#18646] ruby 1.7 fails in try_run() — "Akinori MUSHA" <knu@...>
最近の ruby 1.7 を ruby 1.7 がまだインストールされていない状態で
なかだです。
わたなべです。
なかだです。
わたなべです。
なかだです。
わたなべです。
[#18651] Enumerable#zip — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
青木@横浜です。基本的にROM な人間なんですがなんとなく書いてみました。
In article <3DCD3E72.86A1B6E6@sweetparty.ne.jp>,
青木@横浜です。
原です。
In article <5.1.1.8.2.20021115145423.03541008@blade.nagaokaut.ac.jp>,
まつもと ゆきひろです
In article <1037348006.479453.32695.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
前田です。
In article <8765uv4fu7.wl@studly.priv.netlab.jp>,
前田です。
In article <874raf6xuc.wl@studly.priv.netlab.jp>,
前田です。
In article <87fztv5zir.wl@studly.priv.netlab.jp>,
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
In article <1037884596.418916.10540.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <4.3.2-J.20021108124934.033a2eb0@blade.nagaokaut.ac.jp>,
原です。
In article <4.3.2-J.20021108161559.034233c0@blade.nagaokaut.ac.jp>,
まつもと ゆきひろです
In article <1036742681.769607.13070.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1036847474.074389.7942.nullmailer@picachu.netlab.jp>,
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
In article <1037350413.201570.3051.nullmailer@picachu.netlab.jp>,
まつもと ゆきひろです
In article <1037678818.990758.10429.nullmailer@picachu.netlab.jp>,
[#18702] [PATCH] .rb/.so with same feature name — nobu.nakada@...
なかだです。
[#18711] another implementation of pstore — kjana@...4lab.to (YANAGAWA Kazuhisa)
ちょっと前に役に立たない patch を投げたりしましたが :-) あの後適当にこ
まつもと ゆきひろです
In message <1037723485.685560.17717.nullmailer@picachu.netlab.jp>
まつもと ゆきひろです
[#18754] Different caller(0) in trace_func when NameError from toplevel between 1.6 and 1.7 — "NAKAMURA, Hiroshi" <nahi@...>
なひです。
なかだです。
なひです。
なひです。ひええすいません、タブが落ちちゃった。
なひです。
なかだです。
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
なかだです。
なかだです。
まつもと ゆきひろです
[#18757] klass == 0 as ruby_top_self in call_trace_func — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
まつもと ゆきひろです
なひです。
まつもと ゆきひろです
なひです。
[#18788] observer.rb, ostruct.rb: NameError -> NoMethodError — "NAKAMURA, Hiroshi" <nahi@...>
なひです。
[#18811] IRB.initialize — Ryo HAYASAKA <ryoh@...>
早坂@北陸先端です.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#18818] CFD: adding "condition", "block-call/return", and "load-call/return" trace-events — "NAKAMURA, Hiroshi" <nahi@...>
なひです。
[#18854] Forward: Patch for lib/net/http.rb — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#18861] class variables — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
あおきです。
Yukihiro Matsumotoさんの
まつもと ゆきひろです
[#18868] IRB @CONF[:PROMPT][:DEFAULT][:RETURN] — WATANABE Hirofumi <eban@...>
わたなべです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#18887] String#substr? — Takaaki Tateishi <ttate@...>
立石です.
[#18895] [patch] install bat file on Windows — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
At Fri, 22 Nov 2002 11:09:19 +0900,
こんにちは、なかむら(う)です。
At Fri, 22 Nov 2002 13:05:09 +0900,
こんにちは、なかむら(う)です。
At Fri, 22 Nov 2002 13:45:47 +0900,
[#18896] spec. of format "%.nx" — YANAGAWA Kazuhisa <kjana@...4lab.to>
"%.6x"%-10 #=> fffff6
まつもと ゆきひろです
まつもと ゆきひろです
In message <1037934638.836664.13993.nullmailer@picachu.netlab.jp>
[#18919] clean:: — "Akinori MUSHA" <knu@...>
mkmf.rb rev.1.114 で clean: が clean:: に変更されていますが、
[#18939] Re: [ruby-cvs] ruby: * dln.c: move the MAXPATHLEN definition in front. — WATANABE Hirofumi <eban@...>
わたなべです。
[#18966] [ONIGURUMA] \S doesn't match multibyte char (Re: [ruby-list:36618] Re: 全角文字に挟まれた半角スペースを削除するには?) — nobu.nakada@...
なかだです。
nobu.nakada@nifty.ne.jpさんの
なかだです。
nobu.nakada@nifty.ne.jpさんの
[ruby-dev:18747] Re: Enumerable#zip
At Tue, 12 Nov 2002 00:25:34 +0900,
matz wrote:
> cについては、
>
> class IndexedEnumerable
> include Enumerable
> def initialize(e)
> @enum = e
> @index = 0
> end
> def each
> @enum.each do |x|
> yield x, @index
> @index += 1
> end
> end
> end
> b = IndexedEnumerable.new(a)
> b.map{|x,i|...}
>
> のようなのがあったら問題解決?
これはすなわち
class IndexedEnumerable
include Enumerable
def initialize(e)
@enum = e
end
def each
@enum.each_with_index do |x|
yield x
end
end
end
であり、 each_with_index を each とするというものですが、より
一般化したやつを前に書いたことがあります。(提案もしたっけ)
http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/rough/ext/enumerator/
これを使うと
a.enum_with_index.map{|x,i|...}
または
b = Enumerator.new(a, :each_with_index)
b.map{|x,i|...}
となります。
あと、こないだ発作的に作ってみたのが、指定したクラスの each_foo
というメソッドすべて、もしくは指定したイテレータメソッド foo に
ついて map_foo, grep_foo, ... を定義してしまうという強引な物です。
module Enumerable
class Enumerator
include Enumerable
def initialize(enumobj, method, *args)
@enumobj = enumobj
@method = method
@args = args
end
def each(&block)
@enumobj.send(@method, *@args, &block)
end
end
def Enumerable.activate_enum_sub(enum_method)
enum_method = enum_method.to_s if !enum_method.is_a?(String)
if /^each_(.*)/ =~ enum_method
suffix = $1
else
suffix = enum_method
end
Enumerable.instance_methods.each { |meth|
if /([?!])$/ =~ meth
suffixed_meth = sprintf('%s_%s%c', meth[0..-2], suffix, meth[-1])
else
suffixed_meth = sprintf('%s_%s', meth, suffix)
end
yield <<-EOF
def #{suffixed_meth}(*args, &block)
Enumerator.new(self, :#{enum_method}).#{meth}(*args, &block)
end
EOF
}
end
def Enumerable.activate_module_enum(mod, *enum_methods)
enum_methods.concat(mod.instance_methods.grep(/^each_[a-z_]+/))
enum_methods.each { |enum_method|
activate_enum_sub(enum_method) { |method_def|
mod.module_eval method_def
}
}
end
def Enumerable.activate_singleton_enum(obj, *enum_methods)
enum_methods.concat(obj.singleton_methods.grep(/^each_[a-z_]+/))
enum_methods.each { |enum_method|
activate_enum_sub(enum_method) { |method_def|
obj.instance_eval method_def
}
}
end
end
Enumerable.activate_module_enum Hash
a = { 1=>'a', 2=>'bb', 3=>'ccc', 0=>'abc' }
p a.grep_value(/b/)
p (a.select_value {|v| v.size == 3 })
p a.max_key
Enumerable.activate_singleton_enum ObjectSpace
p ObjectSpace.grep_object(Module)
require 'etc'
Enumerable.activate_singleton_enum Etc, :group, :passwd
p (Etc.select_passwd { |u| u.uid < 10 })
p (Etc.collect_group { |g| g.name })
便利そうなんだけど、標準に持っていくにはいまひとつケレン味が
抜けない感じもする。かといって標準になければ使えないのと同じと
いうのは前にも言った通り。
イテレータについては Ruby の大きな魅力の部分でもあるので、
いろいろな人の意見を聞きたいところです。
--
/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp
"When I leave I don't know what I'm hoping to find
When I leave I don't know what I'm leaving behind.."