30 lines
701 B
Plaintext
30 lines
701 B
Plaintext
import std.io;
|
|
|
|
struct Point
|
|
{
|
|
x: Int; // type specifiers are optional
|
|
y: Int; // type specifiers are optional
|
|
|
|
// x and y are private fields, can only reached by internal context
|
|
|
|
public func toString() -> String
|
|
{
|
|
return "(" + (x as String) + "," + (y as String) + ")";
|
|
}
|
|
// public func toString() {} is ok
|
|
}
|
|
|
|
// make points
|
|
|
|
var p1 := new Point{1, 2};
|
|
io.println(p1.toString()); // (1,2)
|
|
|
|
var p2 := new Point{x: 2, y: 3};
|
|
io.println(p2.toString()); // (2,3)
|
|
|
|
var x := 114;
|
|
var y := 514;
|
|
|
|
var p3 := new Point{y, x}; // shorthand mode, can be unordered, auto match field and variable!
|
|
// = Point{x: x, y: y}
|
|
io.println(p3.toString()); // (114,514) |