This commit is contained in:
Dmitry Jemerov
2011-10-20 15:29:53 +02:00
parent 5e73a1b9fe
commit a80398098b
2 changed files with 49 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
namespace HelloNamesRealistic
fun main(args : Array<String>) {
val names = args.join(", ")
println("Hello, $names!")
}
fun println(message : String) {
// System.out is a nullable field
System.out?.println(message)
}
fun <T> Iterable<T>.join(separator : String) : String? {
val names = StringBuilder()
forit (this) {(it: Iterator<T>): Unit =>
names += it.next()
if (it.hasNext())
names += separator
}
return names.toString()
}
fun <T> forit(col : Iterable<T>, f : fun(Iterator<T>) : Unit) {
val it = col.iterator()
while (it.hasNext()) {
f(it)
}
}
fun StringBuilder.plusAssign(s : String) {
this.append(s)
}
+17
View File
@@ -0,0 +1,17 @@
class Point(val x: Int, val y: Int) {
fun toString() = "($x,$y)"
fun distanceTo(other: Point): Double {
val dx = x - other.x
val dy = y - other.y
return Math.sqrt((dx*dx + dy*dy).dbl)
}
}
fun main(args: Array<String>) {
var p = Point(0, 0)
var q = Point(1, 1)
p.distanceTo(q)
}