View Problem

Fetch the last element of a list

Given the list [Red, Green, Blue], access the last element ('Blue')
DiskEdit
ruby
['Red', 'Green', 'Blue'][-1]
DiskEdit
ruby
['Red', 'Green', 'Blue'].at(-1)
DiskEdit
ruby
['Red', 'Green', 'Blue'].last
DiskEdit
ruby
['Red', 'Green', 'Blue'].fetch(-1)
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))
DiskEdit
clojure
(last '[One Two Three Four Five])
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"

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