From 9170d5c5352e6eb0a16e7dcbfe29ae796fdf2bf7 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 3 Nov 2011 14:35:30 +0300 Subject: [PATCH] IO primitives --- stdlib/ktSrc/StandardLibrary.kt | 36 ++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/stdlib/ktSrc/StandardLibrary.kt b/stdlib/ktSrc/StandardLibrary.kt index 4ccd6b13838..bd0fab6b7d9 100644 --- a/stdlib/ktSrc/StandardLibrary.kt +++ b/stdlib/ktSrc/StandardLibrary.kt @@ -1,5 +1,39 @@ namespace std -fun println(message : Any?) { +namespace io { + import java.io.* + + fun print(message : Any?) { System.out?.print(message) } + fun print(message : Int) { System.out?.print(message) } + fun print(message : Long) { System.out?.print(message) } + fun print(message : Byte) { System.out?.print(message) } + fun print(message : Short) { System.out?.print(message) } + fun print(message : Char) { System.out?.print(message) } + fun print(message : Boolean) { System.out?.print(message) } + fun print(message : Float) { System.out?.print(message) } + fun print(message : Double) { System.out?.print(message) } + + fun println(message : Any?) { System.out?.println(message) + } + + fun println(message : Int) { System.out?.println(message) } + fun println(message : Long) { System.out?.println(message) } + fun println(message : Byte) { System.out?.println(message) } + fun println(message : Short) { System.out?.println(message) } + fun println(message : Char) { System.out?.println(message) } + fun println(message : Boolean) { System.out?.println(message) } + fun println(message : Float) { System.out?.println(message) } + fun println(message : Double) { System.out?.println(message) } + + private var systemIn : InputStream? = null // Unfortunately, System.in may change + private var stdin : BufferedReader? = null // This may introduce leaks of system.in objects... + + fun readLine() : String? { + if (stdin == null || systemIn != System.`in`) { + stdin = java.io.BufferedReader(java.io.InputStreamReader(System.`in`)) + systemIn = System.`in` + } + return stdin?.readLine() + } } \ No newline at end of file