View Problem

Perform an operation on every item of a list

Perform an operation on every item of a list, e.g.
for the list ["ox", "cat", "deer", "whale"] calculate
the list of sizes of the strings, e.g. [2, 3, 4, 5]
DiskEdit
ruby
["ox", "cat", "deer", "whale"].map{|i| i.length}
DiskEdit
erlang
lists:map(fun (X) ->length(X) end, List).
DiskEdit
csharp .NET 3.5
using System.Collections.Generic;
public class OperationOnEach {
public static void Main() {
var list = new List<string>() { "ox", "cat", "deer", "whale" };
list.ForEach( System.Console.WriteLine );
}
}
DiskEdit
fsharp 1.9.9.9
let lengths = List.map String.length ["ox"; "cat"; "deer"; "whale"]
ExpandDiskEdit
fantom
["ox", "cat", "deer", "whale"].map { it.size }
ExpandDiskEdit
cpp
list<string> words;

words.push_back("ox");
words.push_back("cat");
words.push_back("deer");
words.push_back("whale");

for (list<string>::iterator it = words.begin(); it != words.end(); ++it)
cout << it->size() << ' ';
cout << endl;
ExpandDiskEdit
cpp C++11 (gcc 4.6/VC++ 2010)
auto words = { "ox", "cat", "deer", "whale" };
list<size_t> word_sizes;

transform(begin(words),
end(words),
back_inserter(word_sizes),
[](const string& s) { return s.size(); });

Submit a new solution for ruby, erlang, csharp, fsharp ...
There are 10 other solutions in additional languages (clojure, groovy, haskell, java ...)