gpt4 book ai didi

Scala 默认参数来自其他参数

转载 作者:行者123 更新时间:2023-12-01 09:31:17 26 4
gpt4 key购买 nike

我正在尝试执行以下操作,编译器不高兴...

def foo(db: Database = ctx.defaultDB)(implicit ctx: Context)

也就是说,如果没有指定 db,则使用 ctx 查找默认值。编译器不喜欢这个版本,所以我尝试了这个:

def foo(ctx: Context, db: Database = ctx.defaultDB)

编译器也不喜欢这样...

最佳答案

默认参数值有很多限制。

我建议重载:

def foo(db: Database)(implicit ctx: Context) = ...

def foo(implicit ctx: Context): Type = foo(ctx.defaultDB)(ctx)

我不确定确切的要求是什么,但我的快速测试表明您必须明确第二次重载的返回类型。

关于Scala 默认参数来自其他参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15036577/

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