On 23 January 2016 at 16:12, stepharo <stepharo@free.fr> wrote:
If you have
mother1 := foo:(bar:zork:fork) mother2 := foo:bar:(zork:bork:)
I'm not sure that this is allows in the same class. We should check that in Python or ruby.
In Ruby: def m(x=42, y=51) â calling m(3) gets x=3, y=51 (the given arguments are passed into the leftmost parameters first) def m(options) â calling m( { x: 3, y: 4 } ) or m( x: 3, y: 4 ) gets options = { x: 3, y: 4 } So, a dictionary magically created because you passed something that either was already a dictionary, or used the syntax of dictionary key/value pairs. If you need default values for known keys, you take a default dictionary and override its contents using http://www.rubydoc.info/stdlib/core/Hash%3Aupdate In Python I think it's more like the first Ruby alternative, except arguments can be named (so those bypass the left-to-right assignment order) -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet