你如何在 Scriban 中解析布尔值?

How do you parse booleans in Scriban?

是否可以执行bool.parse或类似的操作?

演示问题的简化 Scriban 模板:

var template = Template.Parse("{{ $parsed = foo | bool.parse }}");
var result = template.Render(new { foo = "True"});

这将抛出错误:(1,25):错误:对象布尔为空

不幸的是,没有办法使用内置函数解析布尔值。一种解决方法是执行以下操作:

var template = Template.Parse("{{ if foo | string.downcase == `true`; $parsed = true; end; $parsed; }}");
var result = template.Render(new { foo = "True"});

link github 中的问题:https://github.com/lunet-io/scriban/issues/243