リストの上位2つの要素を取得するにはどうすればよいですか?リストの上位要素に数学演算を適用する方法OCaml
たとえば、[1;2;3]
がある場合、上位2つの要素(この場合1と2)を取得するにはどうすればよいのですか?そのために数学演算を適用できますか?それはので、ここで[OK]を
リストの上位2つの要素を取得するにはどうすればよいですか?リストの上位要素に数学演算を適用する方法OCaml
たとえば、[1;2;3]
がある場合、上位2つの要素(この場合1と2)を取得するにはどうすればよいのですか?そのために数学演算を適用できますか?それはので、ここで[OK]を
周りh1::h2::t
ではなく、必ず何かideiaがあるべきであるように、あなたがList.hd list;;
がlist
はあなたのリストであることを想像行うことができ、リストの先頭を返すようにしたい場合は
は、感じます。
リストの2番目の要素を返したい場合は、
List.hd (List.tl list) ;;
例行うことができます。もちろん
let list = [1;2;3];;
List.hd list;;
- : int = 1
List.hd (List.tl list);;
- : int = 2
それを行うには良い方法ですが、これはに動作します。
let hd2 lst =
match lst with
| [] -> []
| [a] -> [a]
| a::b::t-> [a; b]
これはうまくいくようです。しかし、それがより良くできるかもしれないかもしれないかもしれません。
私たちは喜んでお手伝いしますが、なぜそれを試してみませんか?トップレベルでのテストやオカムリでのテストは簡単です。 –
あなたは正しい道を歩いています。 [パターンマッチング](https://ocaml.org/learn/tutorials/data_types_and_matching.html#Patternmatchingondatypes)を使用し、空のリストやシングルトンのリストのケースを処理します。 –