まだ第3部をやってます(たのしいRuby)
気がついたらこの本の半分以上終わってた!この調子でがんばります。
メモ(主に復習用)
■第13章・Hashクラス
- 配列はインデックスを用いて各要素にアクセスする。インデックスには数値しか使えない。/ハッシュではキーを利用する。キーにはどんなオブジェクトでも利用できる。
- ハッシュの作り方
- {キー => 値}を使う(「キー」と「値」のペアを並べて指定する。ペアとペアの区切りには「,」を使う)
- Hash.newを使う(引数を与えた場合、その値がハッシュのデフォルト値になる。引数がないときはnilになる。)
- storeメソッドは値の登録。fetchメソッドは値の取り出し。fetchメソッドはキーが登録されていない場合は例外を発生させる。
- ハッシュを初期化するにはclearメソッドを使う。Hash.newと似ているけれども、同じハッシュを参照している場合は、気をつける必要がある。(メソッドは変数に対してでなく、変数が参照しているオブジェクトに対して操作を行うので。)
- 「Rubyの正規表現はPerlの正規表現とほぼ同じ機能が実現されているうえに、日本語でよく使われる文字コードにも対応しているという高機能なものとなっている」そうです。
- 「^」は行頭とマッチするパターン、「$」は行末とマッチするパターン。
- マッチさせたい文字の範囲を指定したい時は、マッチさせたい文字の集合を[ ]を囲む。単なる文字としての「-」を表したいときは最初か最後にかかなければならない。「[ ]」の中で「^」を使うと「指定されたもの以外の文字」を表す。
- [ABC]AまたはBまたはC
- [A-Z]アルファベットの大文字全部
- [a-z]アルファベットの小文字全部
- [0-9]数字全部
- [A-Za-z]AからZまでと、aからzまでのアルファベット全部
- [A-Za-z_]アルファベット全部と「_」
- [A-Za-z0-9_-]アルファベット全部と数字全部と「_」と「-」
- [^A-Za-z]アルファベット以外の文字
- 「.」(ドット)は任意の一文字とマッチするパターン。(例えば、「/^..$/」は2文字の行にマッチする。)
- バックスラッシュを使ったパターン
- 「\s」空白文字、「\d」数字、「\w」英数字、「\A」文字列の先頭、「\Z」文字列の末尾
- 「\」のあとに「^」や「$」や「[」などのメタ文字を書くと、その文字そのものとしてマッチングできるようになる。
- 繰り返し
- 「*」0回以上の繰り返し。1個以上ある場合にも、1個もない場合にもマッチするパターン。
- 「+」1回以上の繰り返し。1個以上ある場合にのみマッチするパターン。
- 「?」0回または1回の繰り返し。0個か1個ある場合にのみマッチするパターン。
- 「()」複数の文字列の繰り返しができる。
- 「|」いくつかの候補の中からどれか1つに当てはまるものにマッチするパターン。