Call a function: Difference between revisions

Added F# section.
m (→‎{{header|COBOL}}: Added extra note about OMITTED.)
(Added F# section.)
Line 297:
f("x:=",1,"y:=",2) # named parameters (user defined)
end</lang>
 
=={{header|F Sharp|F#}}==
<lang fsharp>// No arguments
noArgs()
 
// Fixed number of arguments
oneArg x
 
// Optional arguments
// In a normal function:
optionalArgs <| Some(5) <| None
// In a function taking a tuple:
optionalArgsInTuple(Some(5), None)
// In a function in a type:
foo.optionalArgs 5;;
// However, if you want to pass more than one paramter, the arguments must be
// passed in a tuple:
foo.optionalArgs(5, 6)
 
// Function with a variable number of arguments
variableArgs 5 6 7 // etc...
 
// Named arguments can only be used in type methods taking a tuple. The
// arguments can appear in any order.
foo.namedArgs(x = 5, y = 6)
 
// Using a function in a statement
for i = 0 to someFunc() do
printfn "Something"
 
// Using a function in a first-class context
funcArgs someFunc
 
// Obtaining a return value
let x = someFunc()
 
// Built-in functions: do functions like (+) or (-) count?
 
// Parameters are normally passed by value (as shown in the previous examples),
// but they can be passed by reference.
// Passing by reference:
refArgs &mutableVal
 
// Partial application example
let add2 = (+) 2</lang>
 
=={{header|J}}==
Anonymous user