gpt4 book ai didi

Scala - 如何在多行字符串文字中使用变量

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:41:21 25 4
gpt4 key购买 nike

我想调用“myActionID”变量的值。我怎么做?如果我将诸如“actionId”:1368201 之类的静态值传递给 myActionID 那么它就可以工作,但是如果我使用“actionId”: ${actionIdd} 它会出错。

相关代码如下:

class LaunchWorkflow_Act extends Simulation {

val scenarioRepeatCount = 1
val userCount = 1
val myActionID = "13682002351"

val scn = scenario("LaunchMyFile")
.repeat (scenarioRepeatCount) {
exec(session => session.set("counter", (globalVar.getAndIncrement+" "+timeStamp.toString())))
.exec(http("LaunchRequest")
.post("""/api/test""")
.headers(headers_0)
.body(StringBody(
"""{ "actionId": ${myActionID} ,
"jConfig": "{\"wflow\":[{\"Wflow\":{\"id\": \"13500145349\"},\"inherit-variables\": true,\"workflow-context-variable\": [{\"variable-name\": \"externalFilePath\",\"variable-value\": \"/var/nem/nem/media/mount/assets/Test.mp4\"},{\"variable-name\": \"Name\",\"variable-value\": \"${counter}\"}]}]}"
}""")))

.pause(pause)

}
}

setUp(scn.inject(atOnceUsers(userCount))).protocols(httpProtocol)

如果我输入值 13682002351 而不是 myActionID,一切正常。在 Gatling 中执行此脚本时出现此错误

ERROR i.g.http.action.HttpRequestAction - 'httpRequest-3' failed toexecute: No attribute named 'myActionID' is defined

最佳答案

Scala 有多种字符串插值机制(参见 docs ),可用于在字符串中嵌入变量。它们都可以与三重引号 """ 结合使用,用于创建多行字符串。

在这种情况下,您可以使用:

val counter = 12
val myActionID = "13682002351"
val str = s"""{
"actionId": $myActionID ,
"jConfig": "{\"wflow\":[{\"Wflow\":{\"id\": \"13500145349\"},\"inherit-variables\": true,\"workflow-context-variable\": [{\"variable-name\": \"externalFilePath\",\"variable-value\": \"/var/nem/nem/media/mount/assets/Test.mp4\"},{\"variable-name\": \"Name\",\"variable-value\": \"${counter}\"}]}]}"
}"""

请注意字符串文字前面的 s,以及变量名称前面的美元符号。

关于Scala - 如何在多行字符串文字中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com