【发布时间】:2012-08-06 05:23:36
【问题描述】:
请考虑以下示例
def foo(a: Int, b: Int = 100) = a + b
def bar(a: Int, b: Int = 100) = foo(a, b) * 2
这可行,但请注意,我必须在两个函数中为 b 提供相同的默认值。我的意图其实是以下
def bar(a: Int, b: Int) = foo(a, b) * 2
def bar(a: Int) = foo(a) * 2
但是当您有更多可选参数和链中的其他函数(例如以相同方式调用 bar 的 baz )时,这变得很麻烦。有没有更简洁的方式在 scala 中表达这一点?
【问题讨论】:
-
请把你的问题说清楚:你觉得这里有什么麻烦?你到底在找什么?如果你正在寻找一种更简洁的方式来编写默认参数,那就没有了,怎么可能呢?