NAME

Sidef::Variable::NamedParam

DESCRIPTION

This class implements named parameters (also known as keyword arguments) in Sidef. A NamedParam object stores a name-value pair, where the name is a String and the value is an Array containing one or more arguments. Named parameters allow functions to be called with arguments in any order by specifying the parameter name.

SYNOPSIS

var obj = NamedParam("foo", 1, 2, 3)

# Named parameter syntax with colon
var t = foo: (1, 2, 3)
say t.name              #=> "foo"
say [t.value]           #=> [1, 2, 3]

# Using named parameters in function calls
func div(a, b) { a / b }
say div(b:  5, a: 35)    #=> 7

INHERITS

Inherits methods from:

* Sidef::Types::Hash::Hash

METHODS

dump

self.dump

Returns a String representation of the NamedParam object that can be used to recreate it.

var t = foo: (1, 2, 3)
say t. dump          #=> NamedParam("foo", 1, 2, 3)

name

self.name

Returns the name of the named parameter as a String.

var t = foo:  (1, 2, 3)
say t.name          #=> "foo"

new

NamedParam(name, value1, value2, ...)
self.new

Creates a new NamedParam object with the given name and one or more values. The values are stored as an Array internally.

var np = NamedParam("arg", 42)
var np2 = NamedParam("coords", 10, 20, 30)

Aliases: call

value

self.value

Returns the value(s) stored in the NamedParam. When multiple values were provided, they are returned as a list.

var t = foo: (1, 2, 3)
say [t.value]       #=> [1, 2, 3]

var s = bar: 42
say s.value         #=> 42