Shift list elements to left by 3: Difference between revisions
m
→{{header|Haskell}}
(add PicoLisp) |
|||
Line 1,120:
rotated :: Int -> [a] -> [a]
rotated n
( (<*>) take
. flip (drop . mod n)
. cycle
▲ )
<*> length
--------------------------- TEST -------------------------
Line 1,128 ⟶ 1,131:
main =
let xs = [1 .. 9]
in putStrLn "List rotated 3 or 30 positions to the left:"
>> print (rotated 3 xs)
>> print (rotated 30 xs)
>> putStrLn "\nList rotated 3 or 30 positions to the right:"
>> print (rotated (-3) xs)
>> print (rotated (-30) xs)</lang>
{{Out}}
<pre>------------- SHIFT LIST ELEMENTS TO LEFT BY N -----------
<pre>List rotated 3 positions to the left:▼
rotated n =
( (<*>) take
. flip (drop . mod n)
. cycle
)
<*> length
--------------------------- TEST -------------------------
main :: IO ()
main =
let xs = [1 .. 9]
>> print (rotated 3 xs)
>> print (rotated 30 xs)
>> putStrLn "\nList rotated 3 or 30 positions to the right:"
>> print (rotated (-3) xs)
>> print (rotated (-30) xs)</pre>
=={{header|Java}}==
|