[#42027] 正規表現のマッチングがフリーズしてしまうコード — "conundrum /" <conundrum@...>

conundrumです。

14 messages 2006/04/14

[#42053] NKF MIME encode problem — OHARA Shigeki <os@...>

大原です。

55 messages 2006/04/20
[#42054] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/04/20

大原です。

[#42059] Re: NKF MIME encode problem — "NARUSE, Yui" <naruse@...> 2006/04/20

成瀬です。

[#42061] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/04/21

大原です。

[#42067] Re: NKF MIME encode problem — しん <dezawa@...> 2006/04/21

え、

[#42068] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/04/21

大原です。

[#42079] Re: NKF MIME encode problem — しん <dezawa@...> 2006/04/21

出沢です

[#42080] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/04/21

大原です。

[#42179] Re: NKF MIME encode problem — しん <dezawa@...> 2006/05/01

出沢@逃避中 です

[#42180] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/05/01

大原です。

[#42185] Re: NKF MIME encode problem — しん <dezawa@...> 2006/05/02

出沢です

[#42212] Re: NKF MIME encode problem — OHARA Shigeki <os@...> 2006/05/09

大原です。

[#42265] mime_header.rb(Re: NKF MIME encode problem) — しん <dezawa@...> 2006/05/27

出沢です

[#42295] Re: mime_header.rb(Re: NKF MIME encode problem) — OHARA Shigeki <os@...> 2006/05/28

大原です。

[#42297] Re: mime_header.rb — しん <dezawa@...> 2006/05/28

出沢です

[#42300] Re: mime_header.rb — "NARUSE, Yui" <naruse@...> 2006/05/28

成瀬です。

[#42303] Re: mime_header.rb — OHARA Shigeki <os@...> 2006/05/29

大原です。

[#42110] Re: puts,printの出力をファイルにも出力するには — 岩崎 弘孝 <IH000667@...>

岩崎です。

11 messages 2006/04/25

[#42121] RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...>

ノートパソコンと電子コンパスをRS232Cで接続し、データを取得するプログラ

40 messages 2006/04/25
[#42122] Re: RS232Cによるパソコン間の通信の不具合(質問) — Hidetoshi NAGAI <nagai@...> 2006/04/25

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

[#42124] Re: RS232Cによるパソコン間の通信の不具合(質問) — "yahata hisashi" <yahatah@...> 2006/04/25

永井様

[#42133] Re: RS232Cによるパソコン間の通信の不具合(質問) — Hidetoshi NAGAI <nagai@...> 2006/04/26

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

[#42134] Re: RS232Cによるパソコン間の通信の不具合(質問) — KIMURA Koichi <kimura.koichi@...> 2006/04/26

木村です。

[#42135] Re: RS232Cによるパソコン間の通信の不具合(質問) — "U.Nakamura" <usa@...> 2006/04/26

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

[#42138] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/26

様々にご検討をいただき感謝申し上げます。

[#42139] Re: RS232Cによるパソコン間の通信の不具合(質問) — "U.Nakamura" <usa@...> 2006/04/26

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

[#42140] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/26

最後までお付き合いいただきまして、有り難うございます。

[#42141] Re: RS232Cによるパソコン間の通信の不具合(質問) — "U.Nakamura" <usa@...> 2006/04/26

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

[#42143] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/26

[#42144] Re: RS232Cによるパソコン間の通信の不具合(質問) — kou@... (塚本 晃介) 2006/04/26

塚本と申します

[#42145] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/26

[#42149] Re: RS232Cによるパソコン間の通信の不具合(質問) — KIMURA Koichi <kbk@...> 2006/04/26

木村です。

[#42159] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/28

[#42162] Re: RS232Cによるパソコン間の通信の不具合(質問) — AOKI Shigeru <saoki@...> 2006/04/28

青木@ナセ工企です。

[#42165] Re: RS232Cによるパソコン間の通信の不具合(質問) — "Hisashi Yahata" <yahatah@...> 2006/04/28

長い質問に丁寧にご回答いただき大変有り難うございます。

[ruby-list:42090] jcodeのtr_sが正しく動かない

From: "Kentaro KAWAMOTO" <kentaro.kawamoto@...>
Date: 2006-04-23 08:13:43 UTC
List: ruby-list #42090
川本と申します。

ruby 1.8.4で確認したのですが、
jcodeをrequireすると、tr_sが期待通りに動作しないようです。

--- 結果
$ ruby -v
ruby 1.8.4 (2005-12-24) [i686-linux]

$ ruby -e "p 'foo-bar'.tr_s('-', '_')"
"foo_bar"

$ ruby -e "require 'jcode'; p 'foo-bar'.tr_s('-', '_')"
"foo-bar"
---

jcode.rbを見たところ、該当の正規表現が
/([#{_regex_quote(from)}])\1+/
となっているため、一文字の '-' にマッチしないようです。

jcode.rbを以下のように修正すると、
上記のケースでは期待通りに動くようになりますが、
これだとマルチバイト文字を全く考慮していないので、
jcode.rbの意図にあっていないと思います。

どのように修正するのが正しいのでしょうか?


$ diff -c jcode.rb.original jcode.rb
*** jcode.rb.original   2006-04-23 16:51:54.000000000 +0900
--- jcode.rb    2006-04-23 17:03:03.000000000 +0900
***************
*** 175,181 ****
    def tr_s!(from, to)
      return self.delete!(from) if to.length == 0

!     pattern = SqueezePatternCache[from] ||= /([#{_regex_quote(from)}])\1+/
      if from[0] == ?^
        last = /.$/.match(to)[0]
        self.gsub!(pattern, last)
--- 175,181 ----
    def tr_s!(from, to)
      return self.delete!(from) if to.length == 0

!     pattern = SqueezePatternCache[from] ||= /([#{_regex_quote(from)}])+/
      if from[0] == ?^
        last = /.$/.match(to)[0]
        self.gsub!(pattern, last)


--
Kentaro KAWAMOTO
kentaro.kawamoto@gmail.com

In This Thread

Prev Next