[#34204] 「プログラミング Ruby 」 p.257 defined? はメソッド? — Noritsugu Nakamura <nnakamur@...>

15 messages 2002/03/05
[#34205] Re: 「プログラミング Ruby 」 p.257 defined? はメソッド? — nobu.nakada@... 2002/03/05

なかだです。

[#34244] しぶらぐっ議事録。 — rubiben <ozaki@...>

48 messages 2002/03/08
[#34246] Re: しぶらぐっ議事録。 — rubikitch <rubikitch@...> 2002/03/08

From: rubiben <ozaki@ruby-lang.org>

[#34250] Re: しぶらぐっ議事録。 — Minero Aoki <aamine@...> 2002/03/09

あおきです。

[#34448] 文字コード混在スクリプトの実行 — Noritsugu Nakamura <nnakamur@...>

14 messages 2002/03/16

[#34453] カレンダー文字列を作るメソッド — Take_tk <ggb03124@...>

たけ(tk)です。

13 messages 2002/03/16

[#34534] スクリプティング言語における GPL — Taku Nakajima <tnakajima@...>

中島@ブレーンです。

26 messages 2002/03/21

[#34552] Re: 1.7 に関して — "井上 浩一" <kyoui32@...>

井上です。

22 messages 2002/03/22
[#34556] Re: 1.7 に関して — "U.Nakamura" <usa@...> 2002/03/22

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

[#34590] Ruby FAQ (Re: 1.7 に関して) — TAKAHASHI Masayoshi <maki@...> 2002/03/22

高橋征義です。

[#34570] cgi.rb+ イテレータ — FUJIOKA Takeyuki <fujioka@...>

藤岡です。

15 messages 2002/03/22

[#34676] 安心できる Marshal と、 Ruby バージョンの検査法 — MALTA Koji <malta@...>

丸田と申します。

62 messages 2002/03/30
[#34678] Re: 安心できる Marshal と、 Ruby バージョンの検査法 — Koji Arai <JCA02266@...> 2002/03/31

新井です。

[#34682] Ruby バージョンの検査法 — MALTA Koji <malta@...> 2002/03/31

丸田です。 MarshalとRUBY_VERSIONの話題を分離します。

[#34694] Re: Ruby バージョンの検査法 — WATANABE Hirofumi <eban@...> 2002/04/01

わたなべです。

[#34695] Re: Ruby バージョンの検査法 — shukaku@... 2002/04/01

At Mon, 1 Apr 2002 16:06:23 +0900,

[#34697] Re: Ruby バージョンの検査法 — WATANABE Hirofumi <eban@...> 2002/04/01

わたなべです。

[#34714] Re: Ruby バージョンの検査法 — MALTA Koji <malta@...> 2002/04/01

丸田です。

[#34719] Re: Ruby バージョンの検査法 — HIDAKA Takahiro <cv8t-hdk@...> 2002/04/02

 ひだかです。

[#34738] Re: Ruby バージョンの検査法 — MALTA Koji <malta@...> 2002/04/02

丸田です。

[#34743] Re: Ruby バージョンの検査法 — matz@... (Yukihiro Matsumoto) 2002/04/02

まつもと ゆきひろです

[#34748] Re: Ruby バージョンの検査法 — "NAKAMURA, Hiroshi" <nakahiro@...> 2002/04/03

なひです。

[#34760] Re: Ruby バージョンの検査法 — Koji Arai <JCA02266@...> 2002/04/03

新井です。

[#34765] Re: Ruby バージョンの検査法 — "U.Nakamura" <usa@...> 2002/04/04

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

[#34776] Re: Ruby バージョンの検査法 — Tanaka Akira <akr@...17n.org> 2002/04/04

In article <20020404095542.7155.USA@osb.att.ne.jp>,

[#34681] 書籍に関する質問です — Nobuhide Kanagawa <nobuhide@...>

こんにちわ。

17 messages 2002/03/31

[ruby-list:34541] Re: gsub! /(^|[^0-9])(?=[a-z])/

From: Masaaki Sakano <mas@...>
Date: 2002-03-21 10:56:41 UTC
List: ruby-list #34541
坂野 正明と申します。

At Thu, 21 Mar 2002 11:22:25 +0900,
matz@ruby-lang.org wrote:
> In message "[ruby-list:34529] gsub! /(^|[^0-9])(?=[a-z])/"
>     on 02/03/21, "TOYOFUKU Chikanobu" <toyofuku@juice.or.jp> writes:
> |# ruby
> |x = "aa7cabc3a25baa\n"
> |x.gsub!(/(^|[^0-9])(?=[a-z])/, "\\1@")
> |print x # => @aa7c@a@b@c3a25b@a@a
> 
> 先頭のaにマッチしたあと、a7cabc3a25baa と /(^|[^0-9])(?=[a-z])/
> をマッチさせるのですが、
> 
>   ^は文字列の先頭ではないのでマッチしない
>   [^0-9]はaにマッチするが、7は[a-z]にマッチしない
> 
> のでマッチしません。Perlは^が文字列の先頭でなくてもマッチす
> るんですね。^を\Gに置換えると動作します。

…私の理解が正しければ、この御説明は、
	"7"の直前に'@'がつかない(マッチしない)理由
になっていると思います。一方、豊福さんの元の御意向は、
	(元文字列の2番目の)"a"の直前に'@'がつかない(マッチしない)のはなぜ?
ですので、問題が少し違うと思うのですが…。
# まつもとさんのおっしゃる「文字列の先頭」というのは、上の例で言う
# 「"aa7cabc3a25baa\n" の先頭」と理解してよろしいでしょうか?


元々の例が "a" が複数回出てきて誤解を招きそうなので、以下、元文字列
の x を少し変えて、
	x = "ab7cdefg"
	x.gsub!(/(^|[^0-9])(?=[a-z])/, "\\1@")
で議論させて下さい。

個人的には、

  ・第一段: "(先頭)ab7cdefg" と比較
	^ : x の先頭 (上の表記の「(先頭)」) にマッチ
	(?=[a-z]) : a にマッチ (幅なし)
		結果: 「(先頭)」 → 「(先頭)@」 と置換 ("(先頭)@ab7cdefg")

  ・第二段: "ab7cdefg" と比較
	^ : もう文字列の先頭ではないので、マッチしない
	[^0-9] : a にマッチ
	(?=[a-z]) : b にマッチ (幅なし)
		結果: a → a@ と置換 ("(先頭)@a@b7cdefg")

...以下略

となるのは自然なように思えるのですが…?


さかのまさあき

In This Thread