ruby
オーバーライドしたとき、親クラスのメソッドを呼ぶには super
rubyの「真」は、falseとnil以外 (数値の 0 は true)
フレームはオブジェクト(self((メタクラス、クラス/モジュール、インスタンス 'すべてがオブジェクト'))と定義のある場所((self.classとは限らない))cbase)をもつ ブロックは関数本体(body)とローカル変数(scope)と定義の属す場所*1(klass)をもつ フレームが…
self.foo = 'hoge' # setterメソッドが呼ばれる foo = 'hoge' # ローカル変数fooへの代入と解釈される
埋め込まれたコードの直後の改行を抑制するには - をつける。 <% for item in @items -%> foo bar <br/> <% end -%></br/>
Kernel#load 指定したファイルを無条件にロードする。 Kernel#require 1度読んだファイルは2度読みされない。拡張子は、.soまたは.rbのみで、また拡張子は自動補完される。 Module#include クラスにモジュールをMix-in Object#extend オブジェクトの特異クラ…
メタクラス モジュール/クラス インスタンス Module, Class module ,class で作り(定義)、定数へ代入(クラス名は定数) Class#new で作り(インスタンス化)、変数へ代入 モジュール クラス インスタンス化 × ○ Mix-in ○ × モジュール (Moduleのインスタンス) …
メソッド呼び出しのとき、最後のパラメータとしてハッシュを指定するときは、中括弧を省略できる メソッド定義のとき、'*'は多重代入のルールに従う 左辺の最後の'*'は、対応する左辺右辺の要素を配列として代入する。対応する要素がなければ、空の配列を代…
名前解決のせいで遅くなってるっぽい。 do_not_reverse_lookup で回避。 require 'webrick' Socket.do_not_reverse_lookup = true srv = WEBrick::HTTPServer.new({:DocumentRoot => '/home/foo/public/', :BindAddress => '0.0.0.0', :Port => 3000}) trap(…