Call a function: Difference between revisions

Content added Content deleted
(added ocaml)
(→‎{{header|AutoHotkey}}: Add AutoHotkey)
Line 61: Line 61:
Mixed := H(A, Fun=>F'Access); </lang>
Mixed := H(A, Fun=>F'Access); </lang>


=={{header|AutoHotkey}}==
<lang AHK>; Call a function without arguments:
f()

; Call a function with a fixed number of arguments:
f("string", var, 15.5)

; Call a function with optional arguments:
f("string", var, 15.5)

; Call a function with a variable number of arguments:
f("string", var, 15.5)

; Call a function with named arguments:
; AutoHotkey does not have named arguments. However, in v1.1+,
; we can pass an object to the function:
f({named: "string", otherName: var, thirdName: 15.5})

; Use a function in statement context:
f(1), f(2) ; What is statement context?

; No first-class functions in AHK

; Obtaining the return value of a function:
varThatGetsReturnValue := f(1, "a")

; Cannot distinguish built-in functions

; Subroutines are called with GoSub; functions are called as above.
; Subroutines cannot be passed variables

; Stating whether arguments are passed by value or by reference:
; [v1.1.01+]: The IsByRef() function can be used to determine
; whether the caller supplied a variable for a given ByRef parameter.
; A variable cannot be passed by value to a byRef parameter. Instead, do this:
f(tmp := varIdoNotWantChanged)
; the function f will receive the value of varIdoNotWantChanged, but any
; modifications will be made to the variable tmp.

; Partial application is impossible.
</lang>
=={{header|C}}==
=={{header|C}}==
<lang c>/* function with no argument */
<lang c>/* function with no argument */