Вы не должны определять параметры для функции. Можно просто использовать функцию arguments
подобный массиву объект.
function sum() {
var retval = 0;
for (var i = 0, len = arguments.length; i < len; ++i) {
retval += arguments[i];
}
return retval;
}
sum(1, 2, 3) // returns 6
Я не думаю Вы можете. Поскольку код, который вы добавите, действительно специфичен для десериализуемого класса, вам следует подумать о добавлении функции в этот класс. Например, пусть Foo
будет классом, который вы хотите десериализовать, вы можете добавить метод класса, такой как:
class Foo
def self.from_yaml( yaml )
foo = YAML::load( yaml )
# edit the foo object here
foo
end
end
myFoo = Foo.from_yaml( "myFoo.yaml" )