自定义函数的 Crystal 语法

Crystal 语法的自定义函数是面向表达式的,与 Crystal 语法公式类似。您可以使用下面列出的任一语法格式。

Function ([ argList])

表达式

Function ([ argList])

(

表达式

)

argList 语法

可选。这是一个变量列表,表示当函数被调用时传入函数的参数。多个变量由逗号分隔。允许使用空 argList;但是,argList 两边的括号不是可选的,即使 argList 为空时也必须使用。

[ Optional] simpleType [ Range] [ Array] varName [:=defaultValue]

  • Optional

    可选。指示当调用自定义函数时参数是否可以省略。如果某个参数为可选,则所有随后的参数也必须为可选。如果在调用函数时为某个可选参数提供值,则必须为前面的每个参数提供值。

  • simpleType

    必选。可以使用下列类型之一:

    • NumberVar
    • CurrencyVar
    • StringVar
    • BooleanVar
    • DateVar
    • TimeVar
    • DateTimeVar
  • Range

    可选。指定参数是否为范围变量。

    Note注意

    您不能使用布尔值范围。

  • Array

    可选。指定参数是否为数组变量。

  • varName

    必选。用于表示参数的变量的名称。

  • :=defaultValue

    对于可选参数是必需的。defaultValue 是常量或常量表达式;也就是说,它是一个可在编译时简化为常量值的、不涉及变量的表达式。如果调用自定义函数时某个可选参数被省略,则将使用该参数的默认值。

  • expressions

    必选。Crystal 语法自定义函数返回的值是在表达式序列中求值的最后一个表达式的值。语法与 Crystal 语法公式中的语法相同。

作用域

默认情况下,自定义函数内的变量声明为局部作用域。这与 Crystal 语法公式中的变量声明相反,后者在默认情况下为全局作用域。