List.empty
,List()
とnew List()
の違いは何ですか?どちらを使うべきですか?List.emptyとList()と新しいList()
24
A
答えて
30
List
クラスが抽象であるため、まずnew List()
は機能しません。
override def empty[A]: List[A] = Nil
override def apply[A](xs: A*): List[A] = xs.toList
、すなわち、彼らは本質的に等価だ、それは主にスタイルの問題だ:the List
objectに次のように他の2つのオプションが定義されています。私はempty
を使用する方が好きです。なぜなら、私はそれがより明確であることを知っており、それはカッコを減らしているからです。
12
Listのソースコードから、私たちは持っている:
object List extends SeqFactory[List] {
...
override def empty[A]: List[A] = Nil
override def apply[A](xs: A*): List[A] = xs.toList
...
}
case object Nil extends List[Nothing] {...}
をだから私たちはそれを完全にするために、まったく同じ
で、あなたもNil
を使用できることがわかります。
4
空リストの作成については、他の人が言っているように、あなたに最適なものを使うことができます。訂正:あまりにも動作しますが、
関連する問題
- 1. list [-1:] [0]とlist [len(list)-1]の違いは何ですか?
- 2. /: 'list'と 'list'のサポートされていないオペランドタイプPython
- 3. 'index'と 'list-index'の違い
- 4. List $ SerializationProxyとScala 2.11のListの違いは何ですか?
- 5. unique_ptr push_backとstd :: list
- 6. zenity listとforループ
- 7. 'list' error !!! TypeError:unhashable type: 'list'
- 8. List Scalaの[List [String]]
- 9. Sharepoint List新しいIDでリダイレクトする
- 10. List <T>とList(Of T)との違いは何ですか?
- 11. PTVSを使用したAnaconda - "conda list"と "pip list"とPTVSが異なる
- 12. List Listオブジェクトが空でない
- 13. Filter List List by TextBox by C#
- 14. Newtonsoft JSON list in serialize list
- 15. Expand List List with animationアニメーション
- 16. Python scipy:**またはpow()のサポートされていないオペランドタイプ: 'list'と 'list'
- 17. list-style-typeとYUI reset.css?
- 18. bash -eフラグと '&&' listコマンド
- 19. C#List SelectedIndicesとSelectedItems Count Issue
- 20. Realm ListとLinkingObjectsのパフォーマンス
- 21. GenericsとBinding Listで新しい項目とプロパティを追加する
- 22. NoSuchElementException Listが空でないときにCollections.min(List、Comparator)を使用しているとき
- 23. MVC ListコンテナとパスのないAzureブロブ
- 24. Immutable.js List()とList.of()の違いは?
- 25. pip freezeとconda listの違い
- 26. pythonでmap(func、list)と[func(x)in listのxの違いは何ですか]
- 27. ユーザのチェックボックスとしてのModx Resource List
- 28. DataGridViewとList <T>とソート
- 29. 一覧<string> LST =新しいリストとの差()とList <> LST =新しいリスト()
- 30. 将来ScalazのOption [List [List [Double]]]
を
case List.empty
コンパイルされませんあなたがに 'Nil'を追加することができますcase List()
はしかし、空のリストに対してパターンマッチングのために、あなただけの無記号
EDITを使用することができますそのリスト。 – Jesper