jq - 在 JQ 中使用具有多个参数的 C 数学函数
问题描述
如何在 JQ 中使用带有多个参数的 C 数学函数?手册中没有示例。它说的是:
采用单个输入参数(例如
sin()
)的 C 数学函数可用作零参数jq
函数。采用两个输入参数(例如pow()
)的 C 数学函数可用作忽略两个参数的 jq 函数.
采用三个输入参数的 C 数学函数可用作忽略的三参数 jq 函数.
我已经弄清楚如何将单个输入参数函数实现为零参数 jq 函数:
> echo '{"a": 10.12}' | jq '.a | floor'
10
我如何使用类似的东西pow
?
手册中的“忽略的 jq 函数.
”是什么意思?他们是否忽略了管道输入的内容,从某种意义上说,他们不将其作为参数,与仅从管道中获取参数的一个输入参数情况相反?
解决方案
这很简单,只需通过以下方式分隔函数参数;
:
> echo '{"a": 10.12}' | jq '. | pow(.a;.a)'
20051775181.748566
关于忽略 的 jq 函数.
的含义:似乎在单输入参数函数的情况下,例如floor
,实际发生的是.
使用默认参数,因此无需实际提及任何参数。
在 2 个或更多输入参数的情况下,这当然不再适用,因此不应用默认参数,并且两个参数都必须显式传递。
推荐阅读
- android - 在 Watch Face (Wear OS) 中安排重复后台服务的问题
- php - 如何在第一个按钮处于活动状态时使用第二个按钮
- ios - NSDateFormatter 未正确将字符串转换为日期
- python - Assigning dataframe id based on id in another dataframe
- java - 将 CSV 文件写入 MultipartFile
- json - Facebook webhook 喜欢
- python - Python 选择 ROI OpenCV
- odbc - Teradata ODBC 连接问题:ubuntu 上没有可用的版本信息(./tdxodbc64 需要)
- wordpress - 自定义邮政编码在自定义插件中不起作用
- spring-boot - 春季启动:@ConfigurationProperties 对测试不满意