为什么我无法获取从 scriban 中的函数返回的字符串的大小?
Why I cannot get size of the string returned from function in scriban?
我正在 scriban 中测试以下代码:
{{ func getString }}text{{ end }}
然而,当我尝试使用以下方法获取文本长度时:
{{ getString | string.size }}
我总是得到 0,而我期望得到 4。这是为什么?
问题中定义的函数 getString 打印 "text" 输出,return 没有任何结果,因此 string.size 的结果为 0。您可以将此指令视为对 printf 或 Console.Writeline 的调用 - 它会打印要输出的字符串,但您不能对该字符串执行更多操作。要 return 来自方法的字符串以便能够进一步处理它,您需要使用 ret:
{{ func getString
ret 'text'
end }}
然后输出
{{ getString | string.size }}
将是 4。
我正在 scriban 中测试以下代码:
{{ func getString }}text{{ end }}
然而,当我尝试使用以下方法获取文本长度时:
{{ getString | string.size }}
我总是得到 0,而我期望得到 4。这是为什么?
问题中定义的函数 getString 打印 "text" 输出,return 没有任何结果,因此 string.size 的结果为 0。您可以将此指令视为对 printf 或 Console.Writeline 的调用 - 它会打印要输出的字符串,但您不能对该字符串执行更多操作。要 return 来自方法的字符串以便能够进一步处理它,您需要使用 ret:
{{ func getString
ret 'text'
end }}
然后输出
{{ getString | string.size }}
将是 4。