Ok、hi everyone。私は今、成功していないのに、これをリリートのために試してきました。私がしたいことは、リストの中間の数字をリストの開始位置に移動させることです。例:リストの中間の番号を取得し、開始位置に配置します。 - Haskell
[5,6,8,9,0]
=>[8,5,6,9,0]
// 8
を開始位置に移動しました。
[5,6,7,8]
=>[6,7,5,8]
// 2つの中間の数字が開始位置に移動されました。
これまでのところ、リストの2つの中間の数字(下のコード)を得ることができましたが、それは私が立ち往生して数字を移動する方法を知らないところです。
マイコード:
middle :: [a] -> [a]
middle xs = take (signum ((l + 1) `mod` 2) + 1) $ drop ((l - 1) `div ` 2) xs
where l = length xs