[ruby-list:491] bugreports(Enum#find/find_all, ruby-mode.el) and Requests
From:
keiju@... (Keiju ISHITSUKA)
Date:
1996-09-10 10:41:48 UTC
List:
ruby-list #491
けいじゅ@SHLジャパンです.
バグレポートとリクエストです.
1. Enumerable#find/find_all
a = [1, 2, 3, 4]
elm = a.find{|e|
e == 2 or e == 4
}
---
TRUE
a = [1, 2, 3, 4]
elm = a.find_all{|e|
e == 2 or e == 4
}
---
Segmentation Falt
2. ruby-mode.el
?/ があるとインデントが狂うようです.
3. String#gsub!
以下のはバグではありません.
a = "abc"
a.gsub!(/(a)b(c)/, $1 + "B" + $2)
print a
--
B
これは,
a.gsub!(/(a)b(c)/, "\\1B\\2")
a.gsub!(/(a)b(c)/){$1 + "B" + $2}
などと等価だと思っていました.
絶対バグだと思ったのですが, 良く考えてみるとおかしくないんですね. 間違
いやすい例としてFAQにでもいれておいて下さい.
ここからはリクエストです.
4. Enum#max{...},min{...}
Enumerableにはmax/minがありますが, sortと同じようにイテレータを受け付
けるようにしてください.
例:
[[key, value], ...].max{|a, b| a[0] <=> b[0]}
5. Enum#members(VAL) Enum#members(VAL){...}
Enumerable#grepの == 比較版です.
これには, 裏がありまして...
現在findモジュールを進化(?)させてクラスにしようとしています. で,
Enumerableをインクルードしているのですが...
find = Find.new("/")
find.grep(/.../){|file| ...}
と同様に
find.members("..."){|file| ...}
が一般のEnumerableにも摘要できれば良いなと思ったのでした.
もっとも, Find#membersは, 完全一致ではあまり意味がなく部分一致ですので,
そのまま使うわけには行かないのですが...
__
.........................................石塚 圭樹@SHLジャパン(株)...
------------>アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----