メモ

Ruby1.8に付属のリファレンスマニュアル読んでる。
メモがあったら追記していく。

Pythonは置いといてRubyを触ってみる

あとこれ読んだ: PythonistaとRubyistの違い - http://bit.ly/a7ubDk

環境

Mac OS X Snow Leopard (たまにWindows7
Ruby 1.8

(Windows7)ユーザーの環境変数(User Variable)

変数名:Path の値に追加。

C:\Program Files\ruby-1.8\bin;

(Windows7)システムの環境変数(System Variable) *1

デフォルトオプションの設定。
文字コード宣言を追加。

変数名: RUBYOPT
変数値: -Ku
UTF-8なら 「-Ku」
EUC-JPなら「-Ke」
Shift-JISなら「-Ks」

ライブラリ管理ツール「RubyGems」のパスを指定。

変数名: GEM_HOME
変数値: C:\Program Files\ruby-1.8\lib\ruby\gems\1.8\

ここまで準備。

バッククォートの入力方法がわからない!

特殊なキーボードなもので…。
%記法も使えますよ、という話。

`copy "old" "new"`
%x{ copy "old" "new" }

ヒアドキュメント

ヒアドキュメントをレシーバ*2にメソッドを呼ぶ

ほほう…。

puts <<LABEL.upcase
Hello
LABEL
$a  = <<LABEL
Hello
LABEL

puts $a.upcase
# => "HELLO"
識別子をシングルクォートで囲む

シングルクォートで囲むとコマンドが実行できる…。

# バックスラッシュ記法、式展開が有効
print <<"EOS"
The price is #{$price}.
EOS

# 上のものと同じ結果
print <<EOS
The price is #{$price}.
EOS

# 式展開はできない
print <<'EOS'
The price is #{$price}.
EOS

# コマンドを実行
print <<`EOC`
ipconfig
EOC

制御構造

条件分岐 if

Pythonでは「True」は数値の「1」、「False」は数値の「0」と同じように扱うことができた(はず)。注意。

Ruby では false または nil だけが偽で、それ以外は 0 や空文字列も含め全て真です。

複数コメント

=begin
a
b
c
=end

Chunky Bacon !!


Chunky Bacon !!

*1:http://doruby.kbmj.com/saronpasu_on_rails/20080326/Ruby_1

*2:メソッドを呼ぶオブジェクト