Anonymous user
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}}==
|