Domanda

In Rubinius, se si fa

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__"] 

che comprende "__respond_to_eh__" e "__instance_variable_defined_eh__".

Quindi questo è perché le persone Rubinius vogliono avvolgere nomi dei metodi che non devono essere pasticciato con con __, e non sono autorizzati a utilizzare ? prima della fine di un nome di metodo, eh?

È stato utile?

Soluzione

Sono ormai cambiato all'utilizzo __instance_variable_defined_p__ e __respond_to_p__ in predicati come altrove, in base alle loro osservazioni.

Meh.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top