templates - 如何在 Scriban 中使用 array.filter?
问题描述
我在.scriban
文件中创建了一个模板,但它似乎不起作用。
这是我要过滤的数组片段:
{{~ somevar = SomeArray | array.filter sub(sv) | array.first ~}}
应该调用的自定义函数是:
{{func sub(sv)
ret sv.Code == "99"
end}}
似乎它调用了自定义函数,但我收到此错误:
Scriban.Syntax.ScriptRuntimeException: '<input>(2,12) : error : Cannot get the member sv.Code for a null object.'
我在这里做错了什么?
解决方案
我知道这真的很晚了,但我也在寻找一个如何使用 array.filter 的例子。
您正在调用 sub(sv) 并将其返回值返回给 array.filter。相反,您需要将 sub 的“地址”传递给 array.filter。
{{~ somevar = SomeArray | array.filter @sub | array.first ~}}
这应该有效。
推荐阅读
- blazor - MudBlazor 的 MudChip 默认 true 不起作用
- r - 如何更改 R 中 ggplot (geom_col) 的 Y 范围?
- python - Python3“math.sin”函数返回不正确的结果(角度以弧度为单位。)
- scala - 为什么 List[Int] 可以使用 sorted 方法?
- javascript - reactjs中如何在不同的占位符中渲染不同的组件?
- java - 我在尝试连接到 IBM Cloud 上的 mongodb 的 Quarkus 应用程序中不断收到认证错误
- java - 如何使用带有 maven-publish 和 shadow 插件的 Gradle 重命名正在发布的 jar 文件?
- typescript - 无法在 typesript 中导入 body-parser 模块
- javascript - 从 url 中提取 pdf 并转换为 json 或一些 readabale 格式
- html - 如何使用 HTML 识别和显示嵌入的 URL 参数?