On this page
function, return
Page Contents
Synopsis
<#function name param1 param2 ... paramN>
...
<#return returnValue>
...
</#function>
Where:
name
:方法变量的名称(不是表达式)param1
,param2
等等:local variables的名称存储参数值(不是表达式),可以选择后面跟=
和默认值(即表达式)。paramN
是最后一个参数,可以选择包含结尾的省略号(...
),这表示宏采用可变数量的参数。局部变量paramN
将是附加参数的序列。returnValue
:用于计算方法调用值的表达式。
return
伪指令可以在<#function ...>
和</#function>
之间的任何位置使用,并且可以在任何时间使用。
没有默认值的参数必须在带有默认值(paramName=defaultValue
)的参数之前。
Description
创建一个方法变量(如果知道名称空间功能,则在当前名称空间中)。该伪指令与macro directive的工作方式相同,不同之处在于return
伪指令必须具有指定方法返回值的参数,并且将忽略写入输出的尝试。如果达到</#function>
(即没有return returnValue
),则该方法的返回值是未定义的变量。
示例 1:创建一种方法来计算两个数字的平均值:
<#function avg x y>
<#return (x + y) / 2>
</#function>
${avg(10, 20)}
will print:
15
示例 2:创建一种计算多个数字平均值的方法:
<#function avg nums...>
<#local sum = 0>
<#list nums as num>
<#local sum += num>
</#list>
<#if nums?size != 0>
<#return sum / nums?size>
</#if>
</#function>
${avg(10, 20)}
${avg(10, 20, 30, 40)}
${avg()!"N/A"}
will print:
15
25
N/A