gpt4 book ai didi

scala - 如何为无参数函数定义scala类型?

转载 作者:行者123 更新时间:2023-12-04 10:11:14 25 4
gpt4 key购买 nike

这有效

def func(f: => Int) = f

这不是(例如在类里面)
type EmptyFunct = => Int

或者
 type EmptyFunct = (=> Int)

斯卡拉 2.9 版
两个问题:
  • 为什么语法糖在第二种情况下不起作用?
  • 如何在没有语法糖的情况下定义这个函数?
  • 最佳答案

    => Int 不完全是一个没有参数的函数,它是一个 Int 参数,带有按名称传递约定调用。 (当然,这是相当不错的一点,因为它是通过传递一个不带参数的函数来实现的)。

    没有参数的函数写成() => Int .你可以做type EmptyFunct = () => Int .

    它不是一种类型。在 func 中,f 将被输入为 Int。 () => Int 类型的参数不会。

    def func(f: => Int) = f *2

    func (: => Int) Int




    def func(f: () => Int) : Int = f*2

    error: value * is not a member of () => Int

    关于scala - 如何为无参数函数定义scala类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7228829/

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