From: gotoken@... (GOTO Kentaro) Date: 1999-09-14T17:49:56+09:00 Subject: [ruby-list:16777] Re: User's Guide --Multipart_Tue_Sep_14_17:49:24_1999-1 Content-Type: text/plain; charset=ISO-2022-JP ごとけんです In message "[ruby-list:16769] User's Guide" on 99/09/14, GOTO Kentaro writes: ># あとでパッチだします ってわけでパッチ。 # CVSにしたもらった方がいいのかな?? --Multipart_Tue_Sep_14_17:49:24_1999-1 Content-Type: application/octet-stream Content-Disposition: attachment; filename="ruby-uguide-990206p0.txt" Content-Transfer-Encoding: 7bit diff -urN ruby-uguide.orig/uguide01.html ruby-uguide/uguide01.html --- ruby-uguide.orig/uguide01.html Fri Feb 6 01:37:19 1998 +++ ruby-uguide/uguide01.html Tue Sep 14 17:33:44 1999 @@ -85,7 +85,7 @@ これらを使えば,例えばこんなこともできる


- % ruby -i.bak -pe 'sub "foo", "bar"' *.[ch]
+ % ruby -i.bak -pe 'gsub "foo", "bar"' *.[ch]
 

これはC言語のファイルのすべての`foo'という文字列を`bar'に置 diff -urN ruby-uguide.orig/uguide04.html ruby-uguide/uguide04.html --- ruby-uguide.orig/uguide04.html Fri Feb 6 01:37:19 1998 +++ ruby-uguide/uguide04.html Tue Sep 14 17:42:15 1999 @@ -80,49 +80,61 @@ 文字列の結合


- ruby> word = "fo" + "o"
- "foo"
+ ruby> word = "ab" + "c"
+ "abc"
 

文字列の繰り返し


  ruby> word = word * 2
- "foofoo"
+ "abcabc"
 

文字の取り出し(rubyの文字は整数)


  ruby> word[0]
- 102            # 102は`f'のASCIIコード
+ 97             # 97は`a'のASCIIコード
  ruby> word[-1]
- 111            # 111は`o'のASCIIコード
+ 99             # 99は`c'のASCIIコード
 

部分文字列の取り出し


  ruby> word[0,1]
- "f"
+ "a"
  ruby> word[-2,2]
- "oo"
+ "bc"
  ruby> word[0..1]
- "fo"
+ "ab"
  ruby> word[-2..-1]
- "oo"
+ "bc"
 

一致判定


  ruby> "foo" == "foo"
- TRUE
+ true
  ruby> "foo" == "bar"
- FALSE
+ false
 
-上の例は、ruby 1.0 の場合で、ruby 1.1 では、true, false - というふうに小文字になる。 +

+文字列中の文字の判定 +

+

+ ruby> "foo"[0] == "f"
+ false
+ ruby> "foo"[0..0] == "f"
+ true
+ ruby> "foo"[0] == ?f
+ true
+
+最後の ?f は文字「f」のASCIIコードである97をあらわす。 +つまり "foo"[0] の値は0番目の文字「f」のASCIIコードで +あるからこの比較は数値の比較として行われるのである。

では,これらの機能を使ってパズルを作ってみよう.パズルとはい えないくらいお粗末だが…. --Multipart_Tue_Sep_14_17:49:24_1999-1--