View Problem

Remove an element from a list by index

Given the list [Apple, Banana, Carrot], remove the first element to produce the list [Banana, Carrot]
ExpandDiskEdit
java 1.5 or later
list.remove(0);
ExpandDiskEdit
erlang
Result = tl(List),
ExpandDiskEdit
erlang
[_|Result] = List,
ExpandDiskEdit
erlang
N = 1, {Left, Right} = lists:split(N - 1, List), Result = Left ++ tl(Right),
ExpandDiskEdit
erlang
Result = drop(1, List),
ExpandDiskEdit
cpp C++/CLI .NET 2.0
fruit->RemoveAt(0);
ExpandDiskEdit
fsharp
let split_at list n =
let rec split_at' list' n' left right =
match list' with
| [] -> (List.rev left, List.rev right)
| x :: xs -> if n' <= n then split_at' xs (n' + 1) (x :: left) right else split_at' xs (n' + 1) left (x :: right)
split_at' list 0 [] []

// ------

let (_, right) = split_at fruit 0
ExpandDiskEdit
fsharp
let drop list n =
if n <= 0 then
list
else
let (_, right) = split_at list (n - 1)
right

// ------

let result = (drop fruit 1)
DiskEdit
csharp c# 2.0
class Solution1516
{
static void Main()
{
List<string> fruit = new List<string>() { "Apple", "Banana", "Carrot" };
fruit.RemoveAt(0);
}
}

Submit a new solution for java, erlang, cpp, fsharp ...
There are 21 other solutions in additional languages (clojure, fantom, go, groovy ...)