From a0f10a973fb94a0ee73da7cab792128cdf601783 Mon Sep 17 00:00:00 2001 From: Victor Shepelev Date: Sun, 19 Dec 2021 18:09:52 +0200 Subject: [DOC] Add documentation for hash value omission syntax --- doc/syntax/calling_methods.rdoc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'doc/syntax/calling_methods.rdoc') diff --git a/doc/syntax/calling_methods.rdoc b/doc/syntax/calling_methods.rdoc index fc806d5c31..da061dbfdb 100644 --- a/doc/syntax/calling_methods.rdoc +++ b/doc/syntax/calling_methods.rdoc @@ -210,6 +210,24 @@ definition. If a keyword argument is given that the method did not list, and the method definition does not accept arbitrary keyword arguments, an ArgumentError will be raised. +Keyword argument value can be omitted, meaning the value will be be fetched +from the context by the name of the key + + keyword1 = 'some value' + my_method(positional1, keyword1:) + # ...is the same as + my_method(positional1, keyword1: keyword1) + +Be aware that when method parenthesis are omitted, too, the parsing order might +be unexpected: + + my_method positional1, keyword1: + + some_other_expression + + # ...is actually parsed as + my_method(positional1, keyword1: some_other_expression) + === Block Argument The block argument sends a closure from the calling scope to the method. -- cgit v1.2.3