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 */ |