В Рубиниусе, если вы делаете
rbx-head > Object.instance_methods.grep(/^_.*/)
=> ["__extend__", "__show__", "__marshal__", "__instance_of__", "__instance_variable_get__", "__send__", "__id__", "__instance_variable_set__", "__respond_to_eh__", "__instance_variables__", "__class__", "__kind_of__", "__instance_variable_defined_eh__", "__nil__", "__metaclass__", "__fixnum__", "__method__"]
, который включает "__respond_to_eh__"
и "__instance_variable_defined_eh__"
.
Так что это потому, что люди Рубиниуса хотят обернуть имена методов, которые не должныбыть запутанным с __
, и вам не разрешено использовать ?
до конца имени метода, а?