26 lines
630 B
Text
26 lines
630 B
Text
define square(x: Integer): Integer
|
|
{
|
|
return x * x
|
|
}
|
|
|
|
var l = [1, 2, 3] # Inferred type: List[Integer].
|
|
|
|
# Transform using a user-defined function.
|
|
print(l.map(square)) # [1, 4, 9]
|
|
|
|
# Using a built-in method this time.
|
|
print(l.map(Integer.to_s)) # ["1", "2", "3"]
|
|
|
|
# Using a lambda (with the type of 'x' properly inferred).
|
|
print(l.map{|x| (x + 1).to_s()}) # ["2", "3", "4"]
|
|
|
|
# In reverse order using F#-styled pipes.
|
|
Boolean.to_i |> [true, false].map |> print
|
|
|
|
define apply[A, B](value: A, f: Function(A => B)): B
|
|
{
|
|
return f(value)
|
|
}
|
|
|
|
# Calling user-defined transformation.
|
|
print(apply("123", String.parse_i)) # Some(123)
|