5
A
答えて
8
Stream
は、lazyであり、無限の可能性のあるリストです。 SMLはeagerなので、これは少し丸い方法で行う必要があります。
通常のリストがどのように動作するかでみましょう初見:
- リストの最初の要素
- リスト
datatype 'a list = [] | :: of 'a * 'a list
短所は、2つの部分から構成され
遅延リストでは、かなり似ています。ここ
datatype 'a Stream = Nil | Cons of 'a * (unit -> 'a Stream)
短所は、以下からなる:リスト内
- 最初の要素
()
だから、原則はほとんど同じであることがわかります一緒に仕事するのがもっと難しい。
はのは、例のリストを見てみましょう:
fun succ n = Cons (n, fn() => succ (n+1))
val naturals = succ 0
これは何を作るのか?それを見てみましょう。
naturals
は、succ 0
と定義され、順にCons(0, fn() => succ 1)
と定義されます。これから、リストの最初の要素が0
であることがわかります。
もう一度進んでみましょう。私たちは、、Cons
の2番目の部分を()
と評価しており、succ 1
を生成し、これは次にCons(1, fn() => succ 2)
です。これでリストの2番目の要素が1
であることがわかりました。
このプロセスを繰り返すと、リストは無限リスト[0, 1, 2, ...]
を表しています。
また
val firstnats = take 10 naturals;
をやろうとしていると何を得る見て、これを見ることができます。
1
これは、ストリームの2つのコンストラクタの一つです。そのスクリーンショットの2行目を参照してください。
関連する問題
- 1. これらのアプローチの長所と短所は何ですか?
- 2. mapreduceの短所は何ですか?
- 3. Backbone.jsでヒゲを使うことの長所と短所は何ですか?
- 4. AFHTTPRequestOperationManagerの再利用の長所と短所は何ですか?
- 5. javascriptの匿名メソッドの長所と短所は何ですか?
- 6. triplestoreデータベースの長所と短所は何ですか?
- 7. ブンヤンとウィンストンの長所と短所は何ですか?
- 8. LinkedHashMapsとLinkedHashSetsの長所と短所は何ですか?
- 9. 多重継承の長所と短所は何ですか?
- 10. ロングポーリングと通常ポーリングの長所と短所は何ですか?
- 11. オブジェクトデータベースの長所と短所は何ですか?
- 12. 64ビット.NETの長所と短所は何ですか?
- 13. 挿入専用データベースの長所と短所は何ですか?
- 14. これらの機能を短くすることは可能ですか
- 15. Djangoのfastcgiサーバを使用することの短所は何ですか
- 16. Android - 静的UIオブジェクトを使用することの短所は何ですか
- 17. meteor.jsを使用することの(潜在的な)短所は何ですか?
- 18. イメージをNSUserDefaultに保存することの短所は何ですか?
- 19. 多くのインデックスを持つことの短所は何ですか?
- 20. ng-styleを使用する際の短所は何ですか?
- 21. StringBuilderを使用する際の短所は何ですか?
- 22. シンボルを破棄する際の短所は何ですか?
- 23. プロセスに対するスレッドの短所は何ですか?
- 24. QMLのオブジェクトを含むQAbstractListModelの短所は何ですか?
- 25. データベーステーブルのIndexesの短所は何ですか?
- 26. Core Data、Firebase、Realmの違いは何ですか?長所と短所は何ですか?
- 27. アスペクト指向プログラミング(AOP)の短所は何ですか?
- 28. メッセージパッシングに関してRPCの短所は何ですか?
- 29. 多重継承の短所は何ですか?
- 30. main.js(VueJS用)のコンポーネントのインポートの長所と短所は何ですか?