Yuck语法
Yuck语法特性
例子
(box
"Some math: ${12 + foo * 10}"
(button :class {button_active ? "active" : "inactive"}
:onclick "toggle_thing"
{button_active ? "disable" : "enable"}))语法
数学运算符
+,-,*,/,%比较运算符
==,!=,>,<,>=,<=布尔运算符
||,&&,!正则匹配操作符
=~埃尔维斯运算符
?:如果运算符左侧是
""或者是一个为null的JSON,该运算符返回右侧的值,否则返回左侧的值。安全访问运算符
?.或?.[index]如果运算符左侧是
""或者是一个为null的JSON,该运算符返回null,否则会尝试获取index的值。当运算符左侧存在但不是对象时,该运算符也可能出现错误。(比如:
Number或者String)
三元运算符
condition ? 'value' : 'other value'数字(Number),字符串(String),布尔变量(Boolean)和变量(Variable reference)(
12, 'hi', true, some_variable)JSON访问
object.fieldarray[index]object["field"]
内置函数
round(number, decimal_digits):对一个数约到制定的位数。
sin(number),cos(number),tan(number),cot(number):三角函数(以弧度为单位)。degtorad(number):将角度转换成弧度。radtodeg(number):将弧度转换为角度。replace(string, regex, replacement):在字符串中匹配指定的模式。search(string, regex):在字符串中搜索指定的模式(返回一个数组)。matches(string, regex):判断给定的字符串是否匹配给定的正则表达式(返回布尔值)。captures(string, regex):strlength(string):获取字符串的长度。substring(string, start, length):获取指定位置的子串。arraylength(value):获取数组的长度。objectlength(value):获取对象中字段的个数。jq(value, jq_filter_string):在JSON值上执行jq样式的命令。formattime(unix_timestamp, format_str, timezone):从 UNIX 时间戳获取给定格式的时间。formattime(unix_timestamp, format_str):从 UNIX 时间戳获取给定格式的时间。与formattime相同,但不接受时区。(对于formattime,查看chrono文档以查看有关格式字符串的更多信息,并查看chrono-tz文档以查看可用时区)
最后更新于
这有帮助吗?