View Problem

Fetch the last element of a list

Given the list [Red, Green, Blue], access the last element ('Blue')
DiskEdit
csharp .NET 2.0
string[] items = new string[] { "Red", "Green", "Blue" };
List<string> list = new List<string>(items);
string last = list[list.Count - 1]; // "Blue"
DiskEdit
csharp .NET 3.5 & C# 3.0
// Make sure you import the System.Linq namespace.
// This is not the preferred way of finding the last element if you are using Lists.
string[] items = new string[] { "Red", "Green", "Blue" };
IEnumerable<string> list = new List<string>(items);
string last = list.Last(); // "Blue"
ExpandDiskEdit
erlang
Result = lists:last(List),
ExpandDiskEdit
erlang
Result = last(List),
ExpandDiskEdit
erlang
Result = hd(lists:reverse(List)),
ExpandDiskEdit
erlang
Result = lists:nth(length(List), List),
ExpandDiskEdit
cpp C++/CLI .NET 2.0
String^ result = list[list->Count - 1];
ExpandDiskEdit
cpp
string last_elem = lst.back();
ExpandDiskEdit
fsharp
let last list =
let rec last' list' =
match list' with
| [x] -> x
| x :: xs -> last' xs
if List.is_empty list then failwith "empty list" else last' list

// ------

let result = last list
ExpandDiskEdit
fsharp
let result = (List.nth list ((List.length list) - 1))
ExpandDiskEdit
fsharp
let result = (List.hd (List.rev list))

Submit a new solution for csharp, erlang, cpp, or fsharp
There are 20 other solutions in additional languages (clojure, fantom, groovy, haskell ...)