function rb_call

static VALUE rb_call(VALUE klass, VALUE recv, ID mid, int argc, const VALUE *argv, int scope)

クラス klass に定義されたメソッド mid を呼び出します。レシーバは recv で、引数は長さ argc の配列 argv で渡します。

scope は以下のように呼び出しの形式を示します。

0

obj.method() (private/protected メソッドを呼べない)

1

method() (private/protected メソッドも呼べる)

2

method_or_lvar (1とはエラーメッセージが変わる)

3

super