我正在使用 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 方式的建议将不胜感激