第4章 文字列
式展開
a =2
"aの値は#{a}" "aの5乗は#{a**5}"
"現在時刻:#{Time.now}"
バッククオート `date`
%記法
%!hoge! バックスラッシュ記法及び式展開が有効
%q!hoge! が無効
%w! hoge hogu higu! 配列
%W!hoge hogu higu! 配列。 が有効
%r!hoge! 正規表現リテラル
ヒアドキュメント
count = database_connectior.get_int(<<"EOS" % author.id)
SELECT COUNT(*)
FROM book
WHERE book.author_id = %d
EOS
EOSの前に空白文字をいれるには、 <<-'EOS'
正規表現
.*? 任意の文字列
$1
正規表現リテラル
/regexp/iu
story = << EOS
.........
EOS
story.gsub(/Solomon Grundy/, "Hippopotamus")
story.gsub.(/\w+?)day/){"#{$1}."}
"str" + "ing"
str = "str"; str << "ing"
"Look! " * 3 #=>"Look! Look! Look! "
"a,bb, ccc, ddd".split(/,\s?/) #=> ["a", "bb", "cc", "ddd"]
"string".split(//)
比較 == <
"ad" <=> "ac" #=> 1
メソッド reverse strip length
イテレータ each_line
sprintf("%04d", 3) #=> "0003"
"%04d" % 3
sprintf("%08.4f", Math::PI*10) #=> "031.4159"
"%08.4f" % (Math::PI *10)
シンボル
:if :"anna terras"
シンボルは内容が同値であれば(==)、同一オブジェクト(equal?)で、immutable
ハッシュのキーに適している。
日本語対応
$KCODE = 'SJIS'
regexp = /(.)/s SJISモードの正規表現
regexp = /(.)/n バイト列モードの正規表現
ソースファイル等はUTF-8を使用し、外部との入出力の際にだけ必要に応じてコード変換するのが普通。
メソッド encoding lenghth bytesize
マジックコメント # -*- coding: utf-8 -*-
# vim:fileencodig=UTF-8
0 件のコメント:
コメントを投稿