gpt4 book ai didi

scala - 部分应用带有第一个和第二个参数的 Function2

转载 作者:行者123 更新时间:2023-12-01 08:23:51 25 4
gpt4 key购买 nike

给定一个方法

def f(a: String, b: String) = ???

我想获得两个部分应用的函数(第一个参数和第二个参数)。

我写了下面的代码:

def fst = f _ curried "a"
def snd = (s: String) => (f _ curried)(s)("b")

有没有更好的办法?

[更新] snd 可以写得更短 def snd = (f _ curried)((_: String))("b")

最佳答案

这个更简单:

def fst = f("a", (_: String))
def snd = f((_: String), "b")

但请注意,它会在每次调用时重新计算部分应用的函数,所以我更喜欢 val(或者可能是 lazy val)而不是 def 在大多数情况下。

关于scala - 部分应用带有第一个和第二个参数的 Function2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21701458/

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