This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/tests/examplefiles/ceylon/example.ceylon
Oleh Prypin 6f43092173
Also add auto-updatable output-based tests to examplefiles (#1689)
Co-authored-by: Georg Brandl <georg@python.org>
2021-01-20 10:48:45 +01:00

52 lines
No EOL
1.4 KiB
Ceylon

import ceylon.language { parseInteger }
doc "A top-level function,
with multi-line documentation."
void topLevel(String? a, Integer b=5, String* seqs) {
function nested(String s) {
print(s[1..2]);
return true;
}
for (s in seqs.filter((String x) => x.size > 2)) {
nested(s);
}
value uppers = seqs.map((String x) {
return x.uppercased;
});
String|Null z = a;
{Integer+} ints = { 1, 2, 3, 4, 5 };
value numbers = [ 1, #ffff, #ffff_ffff, $10101010, $1010_1010_1010_1010,
123_456_789 ];
value chars = ['a', '\{#ffff}' ];
}
shared class Example_1<Element>(name, element) satisfies Comparable<Example_1<Element>>
given Element satisfies Comparable<Element> {
shared String name;
shared Element element;
shared [Integer,String] tuple = [1, "2"];
shared late String lastName;
variable Integer cnt = 0;
shared Integer count => cnt;
assign count {
assert(count >= cnt);
cnt = count;
}
shared actual Comparison compare(Example_1<Element> other) {
return element <=> other.element;
}
shared actual String string {
return "Example with ``element.string``";
}
}
Example_1<Integer> instance = Example_1 {
element = 5;
name = "Named args call \{#0060}";
};
object example1 extends Example_1<Integer>("object", 5) {
}