[#31191] クラスメソッドについて — cyross@...

みなさん、初めまして。

16 messages 2001/09/02
[#31192] Re: クラスメソッドについて — matz@... (Yukihiro Matsumoto) 2001/09/02

まつもと ゆきひろです

[#31196] ありがとうございます( Re: Re: クラスメソッドについて) — cyross@... 2001/09/03

サイロスです。

[#31234] oracle: sub query — Yasushi Shoji <yashi@...>

やすしです。

16 messages 2001/09/04
[#31241] Re: oracle: sub query — Yasushi Shoji <yashi@...> 2001/09/05

At Tue, 4 Sep 2001 19:59:11 +0900,

[#31238] 半角から全角へ変換 — 吉川 正晃 <yosikawa@...>

吉川と申します。こちらには初めての投稿になります。

33 messages 2001/09/05
[#31240] Re: 半角から全角へ変換 — WATANABE Hirofumi <eban@...> 2001/09/05

わたなべです。

[#31244] jcode + String#tr は? — Take_tk <ggb03124@...> 2001/09/05

たけ(tk)です。

[#31245] Re: jcode + String#tr は? — WATANABE Hirofumi <eban@...> 2001/09/05

わたなべです。

[#31280] 掲示板の再読み込み時の問題 — みかみまさと <kofu@...>

こんにちは。いつもお世話になっています、みかみと申します。

13 messages 2001/09/06

[#31283] ruby 1.6.5 preview1 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

17 messages 2001/09/06

[#31377] 添付ライブラリのリファレンス (HTML) — "Sadayuki Sakamoto" <flea@...8.dion.ne.jp>

酒本と申します。

20 messages 2001/09/11

[#31414] ruby 1.6.5 preview — m_seki@...

18 messages 2001/09/14

[#31419] Hash#+ ハッシュの足し算はいかが? — Take_tk <ggb03124@...>

class Hash

12 messages 2001/09/14

[#31508] 全角を半角に変換 — yoshikazu tsubaki <y-tsubaki@...>

#2回目の人ごめんなさい(間違えて2つのMLに送信してしまいました)

14 messages 2001/09/17

[#31626] my LC2001 summary — Minero Aoki <aamine@...>

あおき@結局三日連続で飲んでしまった です。

117 messages 2001/09/28
[#31642] Re: my LC2001 summary — Masaki Suketa <masaki.suketa@...> 2001/09/29

助田です。

[#31663] Re: my LC2001 summary — nobu.nakada@... 2001/09/30

なかだです。

[#31665] Re: my LC2001 summary — TAKAHASHI Masayoshi <maki@...> 2001/09/30

高橋征義です。

[#31672] Re: my LC2001 summary — matz@... (Yukihiro Matsumoto) 2001/10/01

まつもと ゆきひろです

[#31697] RUG (Re: my LC2001 summary) — TAKAHASHI Masayoshi <maki@...> 2001/10/02

高橋征義です。

[#31699] URUG (Re: RUG) — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/10/02

もりきゅうです。

[#31688] bcc (Re: my LC2001 summary) — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/10/01

もりきゅうです。

[#31692] Re: bcc (Re: my LC2001 summary) — "U.Nakamura" <usa@...> 2001/10/01

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

[#31779] Re: bcc (Re: my LC2001 summary) — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/10/05

もりきゅうです。

[#31782] Re: bcc (Re: my LC2001 summary) — "T.Kitahara" <tko-k@...> 2001/10/05

はじめまして、Kita といいます。

[#31785] Re: bcc (Re: my LC2001 summary) — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/10/06

もりきゅうです。

[#31805] Re: bcc (Re: my LC2001 summary) — nobu.nakada@... 2001/10/09

なかだです。

[#31806] Re: bcc (Re: my LC2001 summary) — "U.Nakamura" <usa@...> 2001/10/09

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

[#31808] Re: bcc (Re: my LC2001 summary) — nobu.nakada@... 2001/10/09

なかだです。

[#31809] Re: bcc (Re: my LC2001 summary) — "U.Nakamura" <usa@...> 2001/10/09

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

[#31814] Re: bcc (Re: my LC2001 summary) — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/10/09

もりきゅうです。

[ruby-list:31277] Re: p "123".tr('=-;',' =−; ')

From: WATANABE Hirofumi <eban@...>
Date: 2001-09-06 04:28:41 UTC
List: ruby-list #31277
わたなべです。

"Shin'ya Adzumi" <adzumi@denpa.org> writes:

:> jcode.rb にこだわりのある方が出てくればいいですね
:
:日本語に関わらない部分なら直したいな(というか実際に直してますが)と思っ
:ていますが、これって jcode.rb の本来の目的とちょっとずれてますね^^;

原形を留めないほど、改造した責任を取ってこうしてみました。

:# ちなみに手元では
:#   '\\'.tr('a\bc','def') # => ""
:# は直してたりします
:#   'b'.tr('ab','cd::ef') # => "d"
:#   'b'.tr('ab::cd','ef') # => "d"
:# は直す必要ないですよね…多分

'::'じゃなくて'1-0'ならいいかな。

-- 
わたなべひろふみ

Index: lib/jcode.rb
===================================================================
RCS file: /src/ruby/lib/jcode.rb,v
retrieving revision 1.14
diff -u -1 -r1.14 jcode.rb
--- lib/jcode.rb	2000/12/05 09:36:52	1.14
+++ lib/jcode.rb	2001/09/06 04:23:50
@@ -11,5 +11,5 @@
   def _regex_quote(str)
-    str.gsub(/[][.\\|*?+{}()]/){|s|
-      if s == "\\" then "\\\\" else "\\\\#{s}" end
-    }
+    str.gsub(/(\\[-\\])|\\(.)|([][\\])/) do
+      $1 || $2 || '\\' + $3
+    end
   end
@@ -99,11 +99,11 @@
     a = []
-    str.scan(/(.)-(.)|(.)/m) do |r|
-      if $3
-	a.push $3
-      elsif $1.length != $2.length
- 	next
-      elsif $1.length == 1
- 	$1[0].upto($2[0]) { |c| a.push c.chr }
+    str.scan(/(?:\\([-\\]))|(.)-(.)|(.)/m) do
+      if s = $1 || $4
+	a.push s
+      elsif $2.length != $3.length
+	next
+      elsif $2.length == 1
+	$2[0].upto($3[0]) { |c| a.push c.chr }
       else
- 	$1.upto($2) { |c| a.push c }
+	$2.upto($3) { |c| a.push c }
       end
@@ -136,3 +136,3 @@
     else
-      h = HashCache[from + "::" + to] ||= expand_ch_hash(from, to)
+      h = HashCache[from + "1-0" + to] ||= expand_ch_hash(from, to)
       self.gsub!(pattern) do |c| h[c] end
@@ -170,3 +170,3 @@
 
-    pattern = SqueezePatternCache[from] ||= /([#{_regex_quote(from)}])\1+"/
+    pattern = SqueezePatternCache[from] ||= /([#{_regex_quote(from)}])\1+/
     if from[0] == ?^
@@ -175,3 +175,3 @@
     else
-      h = HashCache[from + "::" + to] ||= expand_ch_hash(from, to)
+      h = HashCache[from + "1-0" + to] ||= expand_ch_hash(from, to)
       self.gsub!(pattern) do h[$1] end

In This Thread