0

我想做的是这样的:

val myMap: Map[String, => String] = Map(
  "name1" -> {//functions that does stuff to generate some string},
  "name2" -> {//functions that does something else to return some other string},
   ...
)

这甚至可能吗?我将如何实现这一目标?我的目标是在我从地图中获取该函数时对其进行评估。

4

1 回答 1

1

你会得到最接近的东西是 Map[String, () => String]

val myMap = Map(
    "name1" -> { () => generateString() },
    "name2" -> { () => generateString() }
)

val name1 = myMap("name1")()

您还可以创建自己的地图并覆盖默认功能

如何在 Scala 中使用默认操作实现 Map

于 2013-05-07T17:44:18.060 回答