我正在使用Gatling(https://gatling.io)并且与scala(只是学习)有点挣扎。
我有一个从csv文件中提取用户数据的接收器:
val feeder = csv("seedfile.csv").circular
我可以愉快地访问此文件中的值,例如,这允许我使用' user_email'中的值进行登录。柱:
exec(http("SubmitLogin")
.post("/auth/login")
.formParam("email", "${user_email}")
我遇到的问题是我的csv文件中的一系列列被命名为item1,item2,item3等。我想在循环中迭代这些项目。我希望Scala可能有像php $$ vars(http://php.net/manual/en/language.variables.variable.php)这样的功能,所以我可以这样做:
// actual values pulled from csv file
val item1 = "i'm item 1s val"
val item2 = "i'm item 2s val"
// for i in range
var varname = "item"+i
println(s"${$varname}") //so that for i=1 would be equivalent to println($item1)
注意:我也尝试过:
s"$${varname}"
s"${${varname}}"
基于我的谷歌搜索和玩repl它似乎这不是Scala中的一个选项(我认为对于鼓励不可变数据的静态类型语言是有意义的)所以关于如何以Scala方式处理这个问题的任何建议都会很大赞赏