備忘録

備忘録

正規表現

2015-01-22 15:20:30 | ruby
正規表現:文字列を抽象的に表現する方法。

メタ文字:特殊な意味を持つ文字。

[]:[]内のいずれか1文字
():正規表現のグループ
.:任意の1文字。

*:直前の表現の0回以上の繰り返し。
+:直前の表現の1回以上の繰り返し。
?:直前の表現の0回 又は 1回以上の繰り返し。

a|b:a bどちらか一つ。

\s:空白文字
\w:英数字や_
\d:数字(0~9)

$:末尾
^:先頭


★パターンマッチ
パターンとマッチ(一致)するかどうかを調べる事。

★シンボルクラス
変数 メソッド名の前に":"を付けると対応するシンボルオブジェクトが得られる。

puts :apple.to_s .to_s 文字列の変わりに使用可能。
puts "apple".intern == :apple 同じ内容が得られる。




r = "ruby"
puts "#{r}の絵本"

文字列処理

2015-01-22 15:10:17 | ruby

★文字列
s = "Apple juice" と設定した場合。
s[0] = "A"
s[1] = "p"
s[2] = "p"
s[3] = "l"
s[4] = "e"
s[5] = " "
s[6] = "j"
s[7] = "u"
s[8] = "i"
s[9] = "c"
s[10] = "e"

と自動的に配置される。

s[0] ="O"
s[1] ="r"
s[2] ="a"
s[3] ="n"
s[4] ="g"

s = "Orang juice"となる。

s[4] ="ge"と2文字入れた時、

s = "Orangejuice"とならず。
s = "Orange juice"と一文字自動的に挿入となる。


文字列処理

2015-01-22 15:09:54 | ruby

★文字列
"ABCD".index("C")
"ABCD" => 一番左からインデックス番号0123と指定される。
Cの2が返ってくる。

右側から検索する場合。
"ABCD".rindex("C")
帰ってくる内容は、2となる。

"ABCDC".rindex("C")
仮に同じ文字がある場合は、
右側から最初に一致した場所が対象になる為、4となる。

Ruby1

2015-01-22 10:42:35 | ruby


★日本語表示で実行する方法。
ruby -Ks ***.rb

★日本語表示
#! ruby -Ks
a = "あHello\n World\n hagi\n"

★ファイルの書き込み
fw = open("hello.txt", "w")
fw.write( a )
fw.close


fr = open("hello.txt")
fr.each {|line| puts line }
fr.close