-2
last_element :: [a] -> a
last_element (_:xs)= last_element xs
を参照してください、私はにアンダーコロン理解していない "(_:XS)" を。私はそれが入力されたリストから頭を分離することを読んだ。アンダースコアのコロンは、プリミティブな再帰的な方法でリストの最初の桁または「先頭」を削除するだけですか?
編集、私の理解から、この機能は基本的なケースが欠けています。これは正しいですか?
OPの例はベースケースを欠いています。 – gallais
これは、コロンなしでアンダースコアを使用する方法とはどのように違いますか?私は、(Int、String)、(_ "hello")だけでパターンマッチングを行うことができると信じていますか? –
コロンは[cons](https://en.wikipedia.org/wiki/Cons)演算子です。 '(x:xs)'はリストの最初の項目を 'x'、リストの残りの部分を' xs'とマッチさせます。関数はリストの最初の項目を使用しないので、アンダースコアを使用して関数を無視します。 –