From 8a000cd6c25503a4e9bd287c532d9171a3c476ec Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 6 Jan 2019 18:36:53 +0200 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/basics/extended_identifier.own | 4 ++-- examples/basics/operator_overloading.own | 6 ++---- examples/console/colors.own | 20 ++++++-------------- examples/forms/complicatedForm.own | 2 +- examples/forms/samobot_chat.own | 6 ++---- examples/functions/calculator.own | 10 +++++----- examples/functions/stream.own | 5 ++--- examples/network/github_timeline.own | 14 +++++++------- 8 files changed, 27 insertions(+), 40 deletions(-) diff --git a/examples/basics/extended_identifier.own b/examples/basics/extended_identifier.own index d4e3897..7e6cfa3 100644 --- a/examples/basics/extended_identifier.own +++ b/examples/basics/extended_identifier.own @@ -1,5 +1,5 @@ -`extended indetifier variable` = 9 -println `extended indetifier variable` +`extended identifier variable` = 9 +println `extended identifier variable` `(。◕‿◕。)` = 20 `ʕ•ᴥ•ʔ` = 30 diff --git a/examples/basics/operator_overloading.own b/examples/basics/operator_overloading.own index 9d3f0e1..2ea1ac0 100644 --- a/examples/basics/operator_overloading.own +++ b/examples/basics/operator_overloading.own @@ -1,6 +1,4 @@ -use "std" -use "types" -use "math" +use ["std", "types", "math"] println "Operator overloading" def `::`(v1, v2) = string(v1) + string(v2) @@ -11,7 +9,7 @@ def `^`(v1, v2) = pow(v1[0], v2[0]) print "[2] ^ [7] = " println [2] ^ [7] -def `..`(a, b) = range(a, b - 1) +def `..`(a, b) = range(a, b) def `**`(a, b) = int(pow(a, b)) for y : 1 .. 10 { println sprintf("2 ^ %d = %d", y, 2 ** y) diff --git a/examples/console/colors.own b/examples/console/colors.own index f6a832a..b530ad8 100644 --- a/examples/console/colors.own +++ b/examples/console/colors.own @@ -1,8 +1,12 @@ use "std" -for b : range(8) + +// header +print " " * 4 +for b : range(9) print sprintf(" 4%dm ", b) println "" -for f : range(30, 38) { + +for f : range(30, 39) { for s : ["", "1;"] { print sprintf("%4sm", s+f) print sprintf(" \u001B[%sm%s\u001B[0m", s+f, "gYw ") @@ -12,15 +16,3 @@ for f : range(30, 38) { } } -/*use "functional" -stream(range(30, 38)) - .flatMap(def(f) = [[f, ""], [f, "1;"]]) - .forEach(def(a) { - extract(f, s) = a - print sprintf("%4sm", s+f) - print sprintf(" \u001B[%sm%s\u001B[0m", s+f, "gYw ") - for b : range(8) - print sprintf(" \u001B[4%s;%sm%s\u001B[0m", b, s+f, " gYw ") - println "" - }) -*/ diff --git a/examples/forms/complicatedForm.own b/examples/forms/complicatedForm.own index 7796b58..fce462b 100644 --- a/examples/forms/complicatedForm.own +++ b/examples/forms/complicatedForm.own @@ -13,7 +13,7 @@ enterTextLabel = newLabel("Enter a text", SwingConstants.CENTER) textField = newTextField() textField.addKeyListener(def(type, event) { - lengthLabel.setText(length(textField.getText())) + lengthLabel.setText(textField.getText().length) }) statusPanel = newPanel() diff --git a/examples/forms/samobot_chat.own b/examples/forms/samobot_chat.own index 5f37748..2e4515a 100644 --- a/examples/forms/samobot_chat.own +++ b/examples/forms/samobot_chat.own @@ -1,6 +1,4 @@ -use "std" -use "http" -use "forms" +use ["std", "http", "forms"] chatHistory = newLabel("Чат с самоботом
") messageField = newTextField() @@ -13,7 +11,7 @@ def onSend() { if (length(text) == 0) return 0 messageField.setText("") chatHistory.setText(chatHistory.getText() + "
вы > " + text) - thread(::http, "http://annimon.com/json/bot.php", "POST", {"text": text}, def(answer) { + thread(::http, "https://annimon.com/json/bot.php", "POST", {"text": text}, def(answer) { chatHistory.setText(chatHistory.getText() + "
бот > " + answer) }) } diff --git a/examples/functions/calculator.own b/examples/functions/calculator.own index 571cbe8..9e6355d 100644 --- a/examples/functions/calculator.own +++ b/examples/functions/calculator.own @@ -20,18 +20,18 @@ def calculate(expression) { def parseNumber() { buffer = "" - while (pos < len && isDigit(charAt(expression, pos))) { - buffer += toChar(charAt(expression, pos)) + while (pos < len && isDigit(expression.charAt(pos))) { + buffer += toChar(expression.charAt(pos)) pos++ } return number(buffer) } def parseOperation() { - while (pos < len && !arrayKeyExists(toChar(charAt(expression, pos)), operations)) { + while (pos < len && !arrayKeyExists(toChar(expression.charAt(pos)), operations)) { pos++ } - return operations[toChar(charAt(expression, pos++))] + return operations[toChar(expression.charAt(pos++))] } num1 = parseNumber() @@ -43,4 +43,4 @@ def calculate(expression) { println calculate("2+2") println calculate("400*16") println calculate("400/160") -println calculate("3>4") \ No newline at end of file +println calculate("3>4") diff --git a/examples/functions/stream.own b/examples/functions/stream.own index 2deb5cc..d654635 100644 --- a/examples/functions/stream.own +++ b/examples/functions/stream.own @@ -1,5 +1,4 @@ -use "std" -use "functional" +use ["std", "functional"] println "x, square(x), cube(x) for even numbers" data = [1,2,3,4,5,6,7,8,9] @@ -23,4 +22,4 @@ def reverse(container) { result[size - i - 1] = container[i] } return result -} \ No newline at end of file +} diff --git a/examples/network/github_timeline.own b/examples/network/github_timeline.own index 79efbeb..d6d78e2 100644 --- a/examples/network/github_timeline.own +++ b/examples/network/github_timeline.own @@ -1,12 +1,9 @@ -use "std" -use "http" -use "json" -use "functional" +use ["std", "http", "json", "functional", "date"] header = "* Prints current GitHub timeline *" -println "*" * length(header) +println "*" * header.length println header -println "*" * length(header) +println "*" * header.length // Executes in main thread //http("https://api.github.com/events", def(r) { @@ -19,7 +16,7 @@ thread(::http, "https://api.github.com/events", def(r) { }) def show_github_events(event) { - println event.created_at + println event.created_at.formatTzDate() println "User: https://github.com/" + event.actor.login println github_event_type(event) println "-" * 50 @@ -41,3 +38,6 @@ def github_event_type(event) { case type : type + " on " + repo } } + +def formatTzDate(str) = formatDate(parseTzDate(str), newFormat("yyyy-MM-dd HH:mm:ss")) +def parseTzDate(str) = parseDate(str, newFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"))