Scala 如何添加到自定义函数,如String=>;Int
不太清楚标题的措辞,但我正在尝试扩展一个定义为typeScala 如何添加到自定义函数,如String=>;Int,scala,Scala,不太清楚标题的措辞,但我正在尝试扩展一个定义为typeenvironment=String=>Int 我是从(案例类和模式匹配)中得到的 所以我有一个函数可以在这个环境中查找 type Environment = String => Int val env: Environment = { case "x" => 5 } def lookupEnv(env: Environment, x:String): Int = { env(x) } def extendEnv(
environment=String=>Int
我是从(案例类和模式匹配)中得到的
所以我有一个函数可以在这个环境中查找
type Environment = String => Int
val env: Environment = { case "x" => 5 }
def lookupEnv(env: Environment, x:String): Int =
{
env(x)
}
def extendEnv(env: Environment, x:String, v:Int)
{
????
}
任何帮助都将不胜感激。
谢谢您可以这样做:
def extendEnv(env: Environment, x:String, v:Int): Environment =
(y: String) => if (y == x) v else env(y)
请参见本教程“匿名函数”下的此语法说明。注意
env
中的x
值。当然,您仍然可以在env
本身中访问它,它没有改变你说的“扩展”是什么意思?我不明白你在问什么。仅供参考:当你想退货时,不要忘记你的
def
上的=
。如果省略它,编译器会假定该方法是一个单元
。效果很好。谢谢