| Extracted from Pike v7.8 release 866 at 2016-04-05.

[Top]
Function

# Method Function.splice_call()

Method splice_call

  `mixed splice_call(array args, function f, mixed|void ... extra)`

Description

  Calls the given function with the args array plus the optional extra arguments as its arguments and returns the result.

  Most useful in conjunction with map , and particularly in combination with sscanf with `"...%{...%}..."` scan strings (which indeed was what it was invented for in the first place).

Parameter `args`

  The first arguments the function f expects.

Parameter `f`

  The function to apply the arguments on.

Parameter `extra`

  Optional extra arguments to send to f .

Returns

  Whatever the supplied function f returns.

Example

  class Product(string name, string version) { string _sprintf() { return sprintf("Product(%s/%s)", name, version); } } map(({ ({ "pike", "7.1.11" }), ({ "whitefish", "0.1" }) }), Function.splice_call, Product); ({ /* 2 elements */ Product(pike/7.1.11), Product(whitefish/0.1) })