【发布时间】:2018-05-13 09:01:54
【问题描述】:
我正在将一些代码从 Ruby 转换为 Scala。问题是我一生中从未编写过 Ruby。进展顺利,但现在我达到了两行我不明白的地方。 如何将最后 2 行 Ruby 代码转换为 Scala?
num_obs = pop.first[:objectives].size
num_obs.times do |i|
min = pop.min{|x,y| x[:objectives][i]<=>y[:objectives][i]}
max = pop.max{|x,y| x[:objectives][i]<=>y[:objectives][i]}
/* do sth. with min and max */
end
pop 是 Vector[Map[String, Any]]
【问题讨论】:
-
什么是
i?它是否绑定到当前范围内的任何内容?虽然我绝不是 Ruby 专家,但:objectives看起来更像是一个符号,所以对应的 Scala 类型应该是Vector[Map[Symbol, Any]]。 -
是的,但在我的 scala 代码中,我使用的是 Vector[Map[String, Any]]