簡體   English   中英

Scala:如何使用變量參數列表定義匿名函數?

[英]Scala: How do I define an anonymous function with a variable argument list?

在Scala中,如何定義一個帶有可變數量參數的匿名函數?

scala> def foo = (blah:Int*) => 3
<console>:1: error: ')' expected but identifier found.
       def foo = (blah:Int*) => 3
                          ^

看起來這是不可能的。 在第6.23章匿名函數語言規范中,語法不允許在類型之后使用* 在類型后面的章節4.6 函數聲明和定義中可以有*

你可以做的是:

scala> def foo(ss: String*) = println(ss.length)
foo: (ss: String*)Unit

scala> val bar = foo _
bar: (String*) => Unit = <function1>

scala> bar("a", "b", "c")
3

scala> bar()
0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM