初めてのRuby
9章は外部ライブラリや、やや特殊な機能に言及した内容なので、8章が実質的な最終章。 Ruby はクラスベースのオブジェクト指向 クラスは class ClassName ; end で定義する クラス名は大文字ではじめる (クラス名は定数なので クラスの宣言のなかには任意の…
メソッドはサブルーチンのようなもの オブジェクトにメッセージを送り、内部状態を変化させる 内部状態を変化させない関数的メソッドもある メソッド呼び出し、括弧の省略、メソッド連鎖 引数とメソッドの結合は弱い レシーバ (オブジェクト) の省略 private…
キーワード拾いメモは明日。変数と式についてはマインドマップを書いてみたのでアップ。演算子はかけなかった。 変数 オブジェクトへの参照 複数の変数が同じオブジェクトを参照していることがある cattle = "yahoo" p cattle.length #=> 5 animal = cattle …
ARGV は配列。組み込み定数。 Array#inject は List::Util reduce とか Gauche の fold のようなもの。 expression = ARGV.join(' + ') total = ARGV.inject(0){ |subtotal, arg| subtotal + arg.to_i } puts "#{expression} = #{total}" Rubyではコードブロ…
文字列は String クラスのオブジェクトなので String.new で作れる。他は "", '' などで囲ってリテラル表記。 Perl と同じ。 "" の中のエスケープ文字を解釈するのも '' の中では解釈しないのも Perl と同じ。あと + と str = String.new("Hello") p str + "…
あんまり長く書いても時間ばかりかかってしょうがないので、要点をうまく拾っていけるように気をつける。数値について。とても大きい整数も ok で、 Perl のように 100_000_000 と可読性のためにアンダースコアを混ぜることもできる。0x, 0X ... 16進数 0d, …
配列は「オブジェクトへの参照を順に並べたもの」各要素はオブジェクトへの参照、そのものではないのでオブジェクトを変更すると配列の要素も変更される。 cattle = "yahoo" container = [cattle, cattle] p container #=> ["yahoo", "yahoo"] cattle[2..3] …
object.object_id メソッドで、あるオブジェクトの一意な番号がとれる。== と equal? は比較方法が違うので var1 == var2 と var1.equal?(var2) の結果は同じになるとは限らない。object.class メソッドで、あるオブジェクトのクラスがわかる。 "string".cla…
Ruby を真面目に勉強しようと思って Twitter でオススメ本を聞いてみたところ、 Yugui さんの「初めてのRuby」を推す声が多かった。 Amazon のレビューも高評価のものが多かったし、本屋で少し立ち読みしてみたが良さそうな気がしたので買ってみた。Ruby の…