114 lines
1.5 KiB
Plaintext
114 lines
1.5 KiB
Plaintext
#
|
|
# Comments
|
|
#
|
|
|
|
module pygments.Example
|
|
|
|
import some.Module
|
|
|
|
local function foo = |a, b| -> a + b
|
|
|
|
----
|
|
golodoc string
|
|
----
|
|
augment java.util.Collection {
|
|
|
|
----
|
|
sub doc
|
|
----
|
|
function plop = |this, v| {
|
|
return this: length() + v
|
|
}
|
|
}
|
|
|
|
function bar = |a, b| {
|
|
let msg = "a string"
|
|
var tmp = ""
|
|
tmp = tmp + a: toString()
|
|
println(tmp + b)
|
|
}
|
|
|
|
function baz = {
|
|
foreach i in range(0, 5) {
|
|
if i % 2 == 0 and true or false {
|
|
print("e")
|
|
} else {
|
|
print("o")
|
|
}
|
|
}
|
|
}
|
|
|
|
function userMatch = |v| ->
|
|
match {
|
|
when v % 2 == 0 then "e"
|
|
otherwise "o"
|
|
}
|
|
}
|
|
|
|
function add = |x| -> |y| -> x + y
|
|
|
|
let aChar = 'a'
|
|
|
|
let multiline =
|
|
"""
|
|
foo
|
|
bar
|
|
baz
|
|
"""
|
|
|
|
local function myObj = -> DynamicObject():
|
|
name("foo"):
|
|
age(25):
|
|
define("meth", |this| -> this: name() + this: age()
|
|
|
|
----
|
|
Golo doc string
|
|
----
|
|
function nullTest = {
|
|
let m = map[
|
|
["a", 1],
|
|
["b", 2]
|
|
]
|
|
|
|
println(map: get("a") orIfNull 0)
|
|
println(map: get("b")?: toString() orIfNull "0")
|
|
|
|
}
|
|
|
|
struct Point = { x, y }
|
|
|
|
function deco1 = |fun| {
|
|
return |args...| {
|
|
return "deco1 + " + fun: invokeWithArguments(args)
|
|
}
|
|
}
|
|
|
|
@deco1
|
|
function decofoo = |a| {
|
|
return "foo: " + a
|
|
}
|
|
|
|
@deco1
|
|
function decobar = |a| -> "bar: " + a
|
|
|
|
function deco2 = |fun| {
|
|
return |args...| {
|
|
return "deco2 + " + fun: invokeWithArguments(args)
|
|
}
|
|
}
|
|
|
|
@deco2
|
|
@deco1
|
|
function decobaz = |a| -> "baz: " + a
|
|
|
|
let deco3 = ^deco1: andThen(^deco2)
|
|
|
|
@deco3
|
|
function decospam = |a| -> "spam: " + a
|
|
|
|
@another.Module.deco
|
|
function ping = -> "pong"
|
|
|
|
@deco("with", params)
|
|
function gnop = -> "gnip"
|