【发布时间】:2020-10-02 16:01:38
【问题描述】:
我正在设计一个程序。我是 Scala 新手,但似乎可选参数是使用以下方法处理的:
def f1(my_string: Option[String] = None) = {
// Maybe do some pattern matching here to extract the value
}
但是,对于最终用户来说,这非常难看,因为他们需要像这样调用这个函数:
f1(Some("foo")
有没有一种技术或模式可以把它变成:
f1("foo"))
仍然可以使用可选参数吗?即 f1() 也可以使用?
我问的原因是我显然使用了不需要添加显式 Some(..) 的 Scala 库,但是在它们的源代码中,它们已经定义了如上所述的函数。我个人会使用默认参数,但不知道为什么这是一种设计模式。
【问题讨论】:
-
查看我的回答 here 以及所有线程。
-
谢谢,这正是我想要的
标签: scala error-handling functional-programming pattern-matching options