0

我正在 scriban 中测试以下代码:

{{ func getString }}text{{ end }}

但是,当我尝试通过以下方式获取文本长度时:

{{ getString | string.size }}

我总是得到 0,而我期望得到 4。这是为什么呢?

4

1 回答 1

0

所定义的函数 getString 将“文本”打印到输出并且不返回任何结果,因此 string.size 的 0 输出在其结果中。您可以将此指令视为对 printf 或 Console.Writeline 的调用 - 它会将字符串打印到输出,但您无法对该字符串执行更多操作。要从方法返回字符串以便能够进一步处理它,您需要使用 ret:

{{ func getString
    ret 'text'
end }}

然后输出

{{ getString | string.size }}

将是 4。

于 2018-04-04T20:03:59.937 回答