Named parameters: Difference between revisions

Added Wren
m (→‎{{header|Raku}}: Fix comment: Perl 6 --> Raku)
(Added Wren)
Line 1,802:
whatever bar:=1, baz:=2, foo:=-1, qux:="Why is ev'rybody always pickin' on me?"
End Sub</lang>
 
=={{header|Wren}}==
Wren doesn't support named parameters as such though they can be simulated using a map.
<lang ecmascript>var printName = Fn.new { |name|
if (!(name is Map && name["first"] != null && name["last"] != null)) {
Fiber.abort("Argument must be a map with keys \"first\" and \"last\"")
}
System.print("%(name["first"]) %(name["last"])")
}
 
printName.call({"first": "Abraham", "last": "Lincoln"}) // normal order
printName.call({"last": "Trump", "first": "Donald"}) // reverse order
printName.call({"forename": "Boris", "lastname": "Johnson"}) // wrong parameter names</lang>
 
{{out}}
<pre>
Abraham Lincoln
Donald Trump
Argument must be a map with keys "first" and "last"
[./named_params line 3] in new(_) block argument
[./named_params line 10] in (script)
</pre>
 
=={{header|XSLT}}==
9,476

edits