From: Tadashige Morii Date: 1999-09-14T06:31:08+09:00 Subject: [ruby-list:16762] User's Guide 森井です。 タイトル:起動してみる 元記事 -------------------------------------------------------------------------  % ruby -i.bak -pe 'sub "foo", "bar"' *.[ch] これはC言語のファイルのすべての`foo'という文字列を`bar'に置き換える.元の ファイルは`.bak'という拡張子をつけて保存される. ------------------------------------------------------------------------- おかしいと思った点  これを実行すると、同じ行内にふくまれる2つ目以降の `foo' は `bar' に 置き換えられない。(説明文と違う働きをする) foo bar bar bar com ---> bar bar com foobarfoo barbarfoo タイトル:文字列 元記事 -------------------------------------------------------------------------  文字の取り出し(rubyの文字は整数) ruby> word[0] 102 # 102は`f'のASCIIコード ruby> word[-1] 111 # 111は`o'のASCIIコード 部分文字列の取り出し ruby> word[0,1] "f" ruby> word[-2,2] "oo" ruby> word[0..1] "fo" ruby> word[-2..-1] "oo" -------------------------------------------------------------------------  紛らわしいと思った点  例題では、 "foo" という文字列を元に説明しているが、2番目3番目の文字を 変えた方が例文としては読みやすいのでは?  word = "abc" とした方が word[-2..-1] -> "bc" として "oo" より説明がわかり やすいかな と思う。 #私の主観ですが、 word[-1..-3] = "oof" (abc の例では cba になってもいい #かな)というのもおもしろいかなと思うのですが。今は nil ですね (^^; タイトル:文字列 元記事 -------------------------------------------------------------------------  一致判定 ruby> "foo" == "foo" TRUE ruby> "foo" == "bar" FALSE 上の例は、ruby 1.0 の場合で、ruby 1.1 では、true, false というふうに小文字 になる。 -------------------------------------------------------------------------  ruby の主流は 1.4 なので 1.0 を元記事にするより 現在の仕様 true,false にする。  あと私もちょっとはまったのですが、文字比較と文字列比較の例がある方が いいと思います。 ruby> word[0] == "f" #文字比較は出来ない false ruby> word[0..0] == "f" #文字列で判断する true ruby> word[0] == 97 true 以上文字列まで ? と思ったことを抽出してみました。 ----------------------------------------------------- mailto:m_tada@sx.miracle.ne.jp Oracle on Linux : http://member.nifty.ne.jp/m_tada/ I Like Matsue , Shimane And ... -----------------------------------------------------