気づいたこと(=ハマったこと)・気になったこと・教えていただいたことなど
- 変数関係:大文字始まり、$, @, @@. これらは名前の一部。@が修飾でついているわけではない。
- pythonと違い"と'では意味が違う
- ","でlist/tupleを作ることができる。いらん","がついていると...これはpythonも同じ。
- コード探査のために知っておくべきmethod:
- object.methods,
- object_id,
- global_variables
- instance_variables
- local_variables
- self以外に引数がないmethodは()なしで呼び出される
- !とか?をmethod名に含めることができる
- moduleはmoduleを使って明示的に作る。load/requireはfileを読み込むだけ.module名とfile名に関係がないこともありうる。 c.f. pythonはfileとmoduleが一致している。
- local_scopeはblock内に閉じる。同名moduleがあっても(再び開いた)としても違うscope扱い
- ローカル変数のスコープはパース時に静的に確定する。(ブロックの最後まで見て先に変数の集まりが作られている)
- block: 用はクロージャを渡している。参照
- eval3使徒
- eval
- module_eval
- instance_eval
module Foo K = 1 def baz end module_function :baz endなんだこれ、キモい。この言語、こわれてんじゃない?
0 件のコメント:
コメントを投稿