「初めてのRuby」を読むの続き
4章 文字列
4.1 文字列の構築
から
■4章 文字列
・Rubyは強力な文字列処理能力を持っている
→オブジェクト指向的で豊かな文字列演算
言語機能に統合された正規表現
・Rubyは文字列処理においてもオブジェクト指向
を貫いて、言語のほかの部分に対する一貫性を
持っている
・Ruby1.8ではマルチバイト文字を扱う能力は
乏しかった
→1.9は大幅に強化
1.9は多言語テキスト処理を完全にサポート
■4.1 文字列の構築
・new メソッドで作ることも可能
・でも多くの場合は文字列リテラルで構築される
●4.1.1 文字列リテラル
・" または ' でくくる
・両端の引用符は必ず種類が一致していること
●4.1.2 バックスラッシュ記法
・" "でくくられた文字列は、バックスラッシュ記法を解釈
→バックスラッシュに続けて特定の記法を書く
・' 'は原則解釈されない
→例外、'とバックスラッシュ自身
・Unicode
→Ruby1.9でバックスラッシュ記法追加
→とくに{ }内に書く方法では、4桁以上のコードポイント
も表現可能
→エンコーディングはUTF-8
●4.1.3 式展開
・" "でくくられた文字列リテラル内部では、式展開が
行われる
→' 'の場合は行われない
・式展開とは #{ } でくくられた部分をRubyの式
として解釈し、その値を文字列に展開すること
→to_sメソッドが呼び出される
●4.1.4 バッククォート文字列
・バッククォートで囲むと、中身をシェルコマンドとして実行し、
コマンドが出力した内容を元に文字列を構築する
●パーセント記法
・%で始まる。
→引用符が多く含まれる文字列で便利
・%の後に英字、その後に非英字
英字:%記法の種類
非英字:区切り記号
●ヒアドキュメント
・行を区切りとする文字列リテラル
・<<の後に任意の区切り後を記述すると、
<<が含まれる次の行から
区切り語だけが行頭に書いてある行まで
が文字列リテラルになる
・<< "EOS"と書いた場合、<< EOS と書いた場合
バックスラッシュ記法、式展開が有効
<< 'EOS'と書いた場合
バックスラッシュ記法、式展開が無効
・区切り語の前に空白文字が入ってもいけない
→ - を書くと( << -"EOS" )
区切り語の前にタブや空白が入ってよい
■文字列化メソッド
・to_s
・to_str
・inspect
・marshal.dump
上記説明中 < > % # は、本当は半角。
次回は4.2
4章 文字列
4.1 文字列の構築
から
■4章 文字列
・Rubyは強力な文字列処理能力を持っている
→オブジェクト指向的で豊かな文字列演算
言語機能に統合された正規表現
・Rubyは文字列処理においてもオブジェクト指向
を貫いて、言語のほかの部分に対する一貫性を
持っている
・Ruby1.8ではマルチバイト文字を扱う能力は
乏しかった
→1.9は大幅に強化
1.9は多言語テキスト処理を完全にサポート
■4.1 文字列の構築
・new メソッドで作ることも可能
・でも多くの場合は文字列リテラルで構築される
●4.1.1 文字列リテラル
・" または ' でくくる
・両端の引用符は必ず種類が一致していること
●4.1.2 バックスラッシュ記法
・" "でくくられた文字列は、バックスラッシュ記法を解釈
→バックスラッシュに続けて特定の記法を書く
・' 'は原則解釈されない
→例外、'とバックスラッシュ自身
・Unicode
→Ruby1.9でバックスラッシュ記法追加
→とくに{ }内に書く方法では、4桁以上のコードポイント
も表現可能
→エンコーディングはUTF-8
●4.1.3 式展開
・" "でくくられた文字列リテラル内部では、式展開が
行われる
→' 'の場合は行われない
・式展開とは #{ } でくくられた部分をRubyの式
として解釈し、その値を文字列に展開すること
→to_sメソッドが呼び出される
●4.1.4 バッククォート文字列
・バッククォートで囲むと、中身をシェルコマンドとして実行し、
コマンドが出力した内容を元に文字列を構築する
●パーセント記法
・%で始まる。
→引用符が多く含まれる文字列で便利
・%の後に英字、その後に非英字
英字:%記法の種類
非英字:区切り記号
●ヒアドキュメント
・行を区切りとする文字列リテラル
・<<の後に任意の区切り後を記述すると、
<<が含まれる次の行から
区切り語だけが行頭に書いてある行まで
が文字列リテラルになる
・<< "EOS"と書いた場合、<< EOS と書いた場合
バックスラッシュ記法、式展開が有効
<< 'EOS'と書いた場合
バックスラッシュ記法、式展開が無効
・区切り語の前に空白文字が入ってもいけない
→ - を書くと( << -"EOS" )
区切り語の前にタブや空白が入ってよい
■文字列化メソッド
・to_s
・to_str
・inspect
・marshal.dump
上記説明中 < > % # は、本当は半角。
次回は4.2