groovy - 如何在不将其分配给变量的情况下获得闭包的输出?
问题描述
我想把它写成一行,而不必做变量赋值:
def output = myclosure [sdfsdf:"sdfsdf"] // should return "somestring"
assert output == "somestring"
我无法弄清楚只做这样的事情的语法:
assert myclosure: "sdfsdfds" == "somestring"
解决方案
您可以在不将其输出分配给变量的情况下评估闭包:
def aClosure = {
"somestring"
}
assert aClosure() == "somestring"
assert {"somestring"}() == "somestring"
def bClosure = {param ->
param = "somestring"
}
assert bClosure("whatever") == "somestring"
assert bClosure() == "somestring"
assert {param -> "somestring"}() == "somestring"
推荐阅读
- php - Elasticsearch“你的意思是”功能
- android - ffmpeg 命令创建可共享到 Instagram 等的 mp4 视频
- java - 使用 apache Shiro 会话到期时如何重新登录?
- json - 将命令的输出转换为有效的 json?
- reactjs - Formik 和反应自动完成
- php - 我想在关联数组中搜索字符串
- github - GitHub 上的搜索结果数量从搜索到搜索发生巨大变化
- pandas - 如何从 DataFrame 中选择一列,使其具有 (n, 1) 而不是 (n,) 的形状?
- c# - 如何在 C# 中将文件从一个位置复制到另一个位置
- python - 如何将 2 个元素放入 2 个单独的列表中?