[#28402] crypt — Kenji Noda <zaq94465a@...>

野田です

58 messages 2001/03/01
[#28404] Re: crypt — gotoken@... (GOTO Kentaro) 2001/03/01

In message "[ruby-list:28402] crypt"

[#28410] Re: crypt — "Akinori MUSHA" <knu@...> 2001/03/02

At Fri, 2 Mar 2001 04:34:52 +0900,

[#28413] Re: crypt — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/02

newです.

[#28421] Re: crypt — gotoken@... (GOTO Kentaro) 2001/03/02

ごとけんです

[#28424] Re: crypt — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/02

newです.

[#28419] Re: crypt — matz@... (Yukihiro Matsumoto) 2001/03/02

まつもと ゆきひろです

[#28435] ruby 1.6.3? — akira yamada / やまだあきら <akira@...>

24 messages 2001/03/02
[#28440] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/02

まつもと ゆきひろです

[#28572] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/07

[#28621] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/09

[#28624] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/09

まつもと ゆきひろです

[#28821] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/17

[#28823] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/17

まつもと ゆきひろです

[#28829] Re: ruby 1.6.3? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/03/18

もりきゅうです。

[#28831] Re: ruby 1.6.3? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/03/18

もりきゅうです。

[#28454] Ruby 初心者は! — 有瀬 和徳 <crush@...>

Kazunori Aruse

17 messages 2001/03/03

[#28485] ruby/tk TkEntry#selection_present bug? — Noritsugu Nakamura <nnakamur@...>

22 messages 2001/03/04
[#28492] Re: ruby/tk TkEntry#selection_present bug? — Koji Arai <JCA02266@...> 2001/03/04

新井です。

[#28559] Re: ruby/tk TkEntry#selection_present bug? — nagai@... 2001/03/06

永井@知能.九工大です.

[#28562] Re: ruby/tk TkEntry#selection_present bug? — Noritsugu Nakamura <nnakamur@...> 2001/03/06

[#28615] Re: ruby/tk TkEntry#selection_present bug? — nagai@... 2001/03/09

永井@知能.九工大です.

[#28530] テキストファイルを固定文字数で切って、行番号をつけるプログラム — Keisuke Minami <keisuke@...>

こんばんは。三並です。

10 messages 2001/03/05

[#28599] 1.6 のダウンロードマニュアルが圧縮されていない? — Keisuke Minami <keisuke@...>

こんばんは。三並です。

71 messages 2001/03/08
[#28606] Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/08

From: Keisuke Minami <keisuke@rccn.com>

[#28617] Re: Ruby 1.6.2 リファレンスマニュアル — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/09

newです.

[#28618] Re: Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/09

From: "丹生 光則 Nibu,Mitsunori." <nibu@tec.osaka.jip.co.jp>

[#28622] Re: Ruby 1.6.2 リファレンスマニュアル — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/09

newです.

[#28644] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/09

青木@横浜です。

[#28672] Re: Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/10

From: Daisuke Aoki <dai@sweetparty.ne.jp>

[#28705] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/12

青木@横浜です。

[#28697] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/12

青木@横浜です。

[#28601] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — rubikitch <rubikitch@...> 2001/03/08

From: Keisuke Minami <keisuke@rccn.com>

[#28602] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — SHIBATA Hiroshi <h-sbt@...9.so-net.ne.jp> 2001/03/08

 SHIBATA Hiroshiです。

[#28603] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-list:28602] Re: 1.6 のダウンロードマニュアルが圧縮されていない?"

[#28773] [Q] ChibiXML のサンプルみたいなもの — eda@...

えだです。

14 messages 2001/03/15
[#28782] Re: [Q] ChibiXML のサンプルみたいなもの — TAKAHASHI Masayoshi <maki@...> 2001/03/16

高橋征義です。

[#28852] Re: [ruby-ext:01642] Re: o_dbm — keiju@... (石塚圭樹)

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

17 messages 2001/03/19
[#29368] Re: [ruby-ext:01642] Re: o_dbm — akira yamada / やまだあきら <akira@...> 2001/04/21

[#29431] Re: [ruby-ext:01642] Re: o_dbm — keiju@... (石塚圭樹) 2001/04/26

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

[#29468] Re: [ruby-ext:01642] Re: o_dbm — akira yamada / やまだあきら <akira@...> 2001/05/01

[#28911] media watch 2001.03.22 — akira yamada / やまだあきら <akira@...>

27 messages 2001/03/22
[#28955] Re: media watch 2001.03.22 — Keisuke Minami <keisuke@...> 2001/03/24

こんばんは。三並です。

[#28974] Re: media watch 2001.03.22 — akira yamada / やまだあきら <akira@...> 2001/03/26

[#28993] Re: media watch 2001.03.22 — Noritsugu Nakamura <nnakamur@...> 2001/03/27

[#29023] 配列に要素を挿入 — Kenji Noda <zaq94465a@...>

野田と申します

15 messages 2001/03/30

[#29037] forwardable-1.0 release — keiju@... (Keiju ISHITSUKA)

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

25 messages 2001/03/30
[#29038] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/03/30

Toshです。

[#29042] Re: forwardable-1.0 release — matz@... (Yukihiro Matsumoto) 2001/03/31

まつもと ゆきひろです

[#29047] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/03/31

Toshです。

[#29057] Re: forwardable-1.0 release — keiju@... (石塚圭樹) 2001/04/02

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

[#29060] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/04/02

Toshです。

[ruby-list:28710] Kernel#=~

From: Shugo Maeda <shugo@...>
Date: 2001-03-13 04:05:02 UTC
List: ruby-list #28710
前田です。
# Reply-To: ruby-dev@ruby-lang.orgです。

At Sat, 10 Mar 2001 23:05:03 +0900,
nobu.nakada@nifty.ne.jp wrote:
> > data=ARGF.readlines
> > data.each do |x|
> >   puts x if x =~ /45/
> > end
> > と
> > data=ARGF.readlines
> > data.each do |x|
> >   puts x if /45/ =~ x
> > end
> > はどう異なるのでしょうか。
> 
>   上は String#=~、下は Regexp#=~ が呼び出されます。つまり実行の
> 主体が違うわけですが、String#=~ は引数の Regexp に(必要なら変換
> してから)そっくり委譲してしまうので、動作としては同じです。デフォ
> ルトでは。

上はxがnilだとエラーになる、と思いこんでたのですがKernel#=~が呼ば
れますね。

bladeで検索したら以下のような記事が見つかりました。

[ruby-list:2061]:
> |それから些細な事ですが nil に対する =~ がなくなりましたね。
> |結構いい気になって使ってたので(使う方が悪いのだが)あっち
> |こっち直しました。
> 
> 相談せずに外して申し訳なかったですね.
> 
> 「Kernel#=~」は昔,caseの一致判定に「=~」を使っていた頃の名
> 残なので(今は「===」),もういらないかなと思って外しました.
> でも,「foo =~ /pattern/」に便利という側面もあるので,外さな
> い方が良かったのかなあ.

で、結局、

module Kernel
  def =~(other)
    return false
  end
end

となったわけですね。

でもこれだといかにもRegexpのためだけに追加したという感じで、nil +
1はエラーになるのにRegexpだけ特別あつかいなのは納得いかないような
気がするので、どうせなら、

module Kernel
  def =~(other)
    return other === self
  end
end

にしませんか?

あと、こういうのもありました。

[ruby-dev:996]:
> |nil =~ "foo" が undefined method `=~' になって
> |nil =~ /foo/ がエラーにならないのはなぜでしょう?
> |/foo/ =~ nil として扱われるから?
> 
> そうですね.=~の右辺が正規表現の時にはコンパイル時に両辺を取
> り換えたうえインライン展開しています(高速化のため).それを考
> えるとやっぱり Object#=~ とか NilClass#=~ とかを残しておくべ
> きだったかも知れませんね.

Kernel#=~が導入された今も、

irb(main):001:0> module Kernel; undef =~; end
nil
irb(main):002:0> nil.respond_to?(:=~)
false
irb(main):003:0> nil =~ /foo/
nil

という問題はありますね。

これが許されるなら定数の畳み込みとかもやってしまってもよいような
気がしなくもないですけどあんまり効果はないのかな。
=~はループ中に出て来ることが多いから効果があるんですかね。

-- 
前田 修吾

In This Thread

Prev Next