gpt4 book ai didi

scala - 如何在 Scala 中具体化两个类次的重置?

转载 作者:行者123 更新时间:2023-12-04 20:21:24 25 4
gpt4 key购买 nike

我由此了解到blog post怎么单shiftreset被具体化。

重置 { 1 + shift {k:Int => Int => k(5)} + 1}

被具体化为

val reified = {shiftValue:Int => 1 + shiftValue + 1};物化 (5)

现在我有另一个例子:

重启 {
1 + shift(k1:Int => Int => k1(5)} + 1;
2 + shift(k2:Int => Int => k2(6)} + 2
}

它具体化为:

val reified ={shifyValue1:Int =>
1 + 移位值 + 1;
2 + shift(k2:Int => Int => k2(6)} + 2
}
物化(5)

我怎样才能进一步消除第二个 shift ?

最佳答案

val reified ={shiftValue1:Int =>
1 + shiftValue + 1;
val reified2 = {shiftValue2: Int => 2 + shiftValue + 2};
reified2(6)
}
reified(5)

基本相同的转换。

(这里没有安装 scala,所以我只在 Scheme 中测试了这个转换,它的行为应该是一样的,忽略任何类型系统问题。)

关于scala - 如何在 Scala 中具体化两个类次的重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6163236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com