std
Contains common functions
Constants
ARGS
: string Desktop = command-line arguments
Functions
arrayCombine(keys, values)
- creates map by combining two arrays
arrayKeyExists(key, map)
- checks existing key in map. 1 - exists, 0 - no
arrayKeys(map)
- returns array of map keys
arrayValues(map)
- returns array of map values
charAt(input, index)
- returns char code in position index
of string input
clearConsole()
Android - clears console
echo(arg...)
- prints values to console, separate them by space and puts newline at the end. Takes variable number of arguments
Example
echo(1, "abc") // prints "1 abc" to console
echo(1, 2, 3, 4, 5, "a", "b") // prints "1 2 3 4 5 a b"
indexOf(input, what, index = 0)
- finds first occurrence of what
in string input
, starting at position index
join(array, delimiter = "", prefix = "", suffix = "")
- join array to string with delimiter
, prefix
and suffix
lastIndexOf(input, what, index = 0)
- finds last occurrence of what
in string input
, starting at position index
length(x)
- returns length of string, array/map size or number of function arguments
newarray(size...)
- creates array with size
.
newarray(x)
- creates 1D array, newarray(x,y)
- creates 2D array
Example
newarray(4) // [0, 0, 0, 0]
newarray(2, 3) // [[0, 0, 0], [0, 0, 0]]
parseInt(str, radix)
- parses string into integer in the radix
parseLong(str, radix)
- parses string into long in the radix
rand(from = 0, to = ..)
- returns pseudo-random number.
rand()
- returns float number from 0 to 1
rand(max)
- returns random number from 0 to max
rand(from, to)
- return random number from from
to to
range(from = 0, to, step = 1)
- creates lazy array by number range.
range(to)
- creates range from 0 to to
(exclusive) with step 1
range(from, to)
- creates range from from
to to
(exclusive) with step 1
range(from, to, step)
- creates range from from
to to
(exclusive) with step step
Example
print range(3) // [0, 1, 2]
r = range(-5, 0) // [-5, -4, -3, -2, -1]
print r[0] // -5
print r[2] // -3
for x : range(20, 9, -5) {
println x
} // 20 15 10
readln(x)
Desktop - reads a line from console
replace(str, target, replacement)
- replaces all occurrences of string target
with string replacement
replaceAll(str, regex, replacement)
- replaces all occurrences of regular expression regex
with string replacement
replaceFirst(str, regex, replacement)
- replaces first occurrence of regular expression regex
with string replacement
sleep(time)
- causes current thread to sleep for time
milliseconds
sort(array, comparator = ..)
- sorts array by natural order or by comparator
function
split(str, regex, limit = 0)
- splits string str
with regular expression regex
into array. limit
parameter affects the length of resulting array
Example
split("a5b5c5d5e", "5") // ["a", "b", "c", "d", "e"]
split("a5b5c5d5e", "5", 3) // ["a", "b", "c5d5e"]
sprintf(format, args...)
- formats string by arguments
substring(str, startIndex, endIndex = ..)
- returns string from startIndex
to endIndex
or to end of string if endIndex
is not set
Example
substring("abcde", 1) // bcde
substring("abcde", 2, 4) // cd
sync(callback)
- calls an asynchronous function synchronously
Example
result = sync(def(ret) {
http(url, def(t) = ret(t))
})
thread(func, args...)
- creates new thread with parameters if passed
Example
thread(def() {
print "New Thread"
})
thread(::newthread, 10)
thread("newthread", 20)
def newthread(x) {
print "New Thread. x = " + x
}
time()
- returns current time in milliseconds from 01.01.1970
toChar(code)
- converts char code to string
Example
toChar(48) // "0"
toHexString(number)
- converts number into hex string
toLowerCase(str)
- converts all symbols to lower case
toUpperCase(str)
- converts all symbols to upper case
trim(str)
- removes any leading and trailing whitespaces in string
try(unsafeFunction, catchFunction = def(type, message) = -1)
- suppress any error in unsafeFunction
and returns the result of the catchFunction
if any error occurs
Example
try(def() = "success") // success
try(def() = try + 2) // -1
try(def() = try(), def(type, message) = sprintf("Error handled:\ntype: %s\nmessage: %s", type, message))