内部リストの中の一番上のリストが単語を表し、比較比較関数を使用してアルファベット順で最も内側をソートすることができるcharリストリストのList.sortを使用しようとしています。私は比較機能がどのように見えるのだろうか?型 'a - >' a - > intを持ちます。ocamlのcompare関数はどのように見えますか?
0
A
答えて
0
OKですので、char list
は単語、char list list
は単語リストです。あなたは単語リストのリストをソートしています。単語リストのアルファベット順は何ですか?どちらが最初に来る、 "バイカー"か "バイクショーツ"?辞書は順序に同意しません。
「自転車ショーツ」が最初に来るようにしたい場合、これは(再帰的な)辞書順です。
組み込みのポリモーフィックcompare
では、辞書順を使用することがあります。だから、ちょうどまっすぐボックスの外にそれを使用することができます:
# List.sort compare [[['b'; 'i'; 'k'; 'e'; 'r']];
[['b'; 'i'; 'k'; 'e']; ['s'; 'h'; 'o'; 'r'; 't'; 's']]];;
- : char list list list =
[[['b'; 'i'; 'k'; 'e']; ['s'; 'h'; 'o'; 'r'; 't'; 's']];
[['b'; 'i'; 'k'; 'e'; 'r']]
あなたはそれをソートしたいタイプの2つのパラメータを持つだけで、関数の機能比較独自のものを書きたい場合。あなたはこのコンペア機能を使用することができます単語と単語の間にスペースを無視するために、単語のリストをソートするに:
let catcompare a b = compare (List.concat a) (List.concat b)
# List.sort catcompare [[['b'; 'i'; 'k'; 'e']; ['s'; 'h'; 'o'; 'r'; 't'; 's']];
[['b'; 'i'; 'k'; 'e'; 'r']]];;
- : char list list list =
[[['b'; 'i'; 'k'; 'e'; 'r']];
[['b'; 'i'; 'k'; 'e']; ['s'; 'h'; 'o'; 'r'; 't'; 's']]]
何を言っていることは、あなたが、内側のリストをソートしたいということであれば、問題は程度ではありません比較関数同じ内蔵のcompare
を使用することができます。実際の質問は、リストのすべての要素に関数を適用し、結果をリストに集める方法です。 (これを練習問題として残しておきます。すでにList.sort
を使用している場合は、考えられる候補を探す場所を知っておく必要があります)
関連する問題
- 1. このocaml再帰関数はどのように機能しますか?
- 2. この関数のスタックはどのように見えますか?
- 3. Ocaml変数スコープはどのように機能しますか?
- 4. compareToとcompareはどのように動作しますか?
- 5. Xcodeのビューコントローラのコードビューはどのように見えますか?
- 6. Umbracoではコンテンツアドレスはどのように見えますか?
- 7. 私のページはどのように見えますか?
- 8. CGContextRefの座標系はどのように見えますか?
- 9. ジャスミン標準のディレクトリツリーはどのように見えますか?
- 10. 私のProcfileはどのように見えますか?
- 11. サービスアカウントのjsonファイルはどのように見えますか?
- 12. タイムラインのテンプレートはどのように見えますか?
- 13. 私の剣道データソーススキーマはどのように見えますか?
- 14. ネットワークのマシンコードはどのように見えますか?
- 15. Rubyの実行スタックはどのように見えますか?
- 16. WebRTCピアネゴシエーションのワークフローはどのように見えますか?
- 17. Pythonデバッガの関数からの戻り値は、中間体なしでどのように見えますか?
- 18. ocamlではどのように動作しますか?
- 19. このswigコードはどのようにヒスイのように見えますか?
- 20. OCamlのこれら二つの関数定義はどのように異なっていますか?
- 21. weak-strongリファレンスはobjective-cのようにどのように見えますか?
- 22. JsValueのJsObjectsの数はどのように数えますか?
- 23. オブジェクトはどのように見えますか?
- 24. GUIソースコードはどのように見えますか?
- 25. const char **はどのように見えますか?
- 26. ボックスフィルタはどのように見えますか(SURF)(DoB)
- 27. 特別なリリースプロセスはどのように見えますか?
- 28. ハートビートメッセージはどのように見えますか?
- 29. Genieではどのようにスイッチインターフェイスが見えますか?
- 30. オブジェクト図はどのように見えますか?