ObjectAncestor class for all other classes
None
object _get(this, string key)May be null Not present, but can be defined in child class by user
Called when field in that object is accessed through object.field or Object.get.
When field is accessed through object["field"] call to this method will be omitted.
object _get_FIELDNAME(this)May be null Not present, but can be defined in child class by user
Called when field FIELDNAME in that object is accessed through object.FIELDNAME or Object.get.
When field is accessed through object["FIELDNAME"] call to this method will be omitted.
object _set(this, string key, object value)May be null Not present, but can be defined in child class by user
Called when field in that object is set through object.field = value or Object.set.
When field is set through object["field"] = value call to this method will be omitted.
object _set_FIELDNAME(this, object value)May be null Not present, but can be defined in child class by user
Called when field FIELDNAME in that object is set through object.FIELDNAME = value or Object.set.
When field is accessed through object["FIELDNAME"] = value call to this method will be omitted.
dict table(this)Get all key=value pairs in form of a dict
Number extends ObjectRepresents a number
None
None
Bool extends ObjectRepresents a boolean value
None
None
String extends ObjectRepresents a piece of text
None
string capitalized(this)Makes first letter in string capital and all other letters - small
string centered(this, num size)Centers string in row of defined size
list chars(this)Returns list of characters of that string
num count(this, string needle)Counts all occurrences of given needle in this string
string decoded64(this)Returns base64 decoded version of that string (assuming that string is base64-encoded)
string encoded64(this)Returns base64 encoded version of that string
bool endsWith(this, string suffix)Checks if this string ends with given suffix
num find(this, string needle)Returns index of first occurrence of needle in this string
If needle was not found, -1 is returned
num findFromRight(this, string needle)Returns index of first occurrence of needle in this string, counting from rightmost char
If needle was not found, -1 is returned
string format(this, list values)Format this string with given values by %number pattern.
E.g. "%0, %1".format(["Hello", 3]) -> "Hello, 3"
string inBetweenOf(this, list values)Place this string in between given values.
E.g. ", ".inBetween(["a", "b", "c"]) -> "a, b, c"
bool isAlphaNumeric(this)Check if string contains only numeric and alphabetical characters
Space is included
bool isAlphabetical(this)Check if string contains only alphabetical characters
Space is included
bool isLower(this)Check if string contains only lowercase letters
bool isNumeric(this)Check if string contains only numeric characters
bool isUpper(this)Check if string contains only uppercase letters
string lowerCased(this)Returns same string, but with all characters being in lowercase
string replaceAll(this, string target, string replacement)Does not mutate
Replaces all occurrences of target with replacement
string replaceFirst(this, string target, string replacement)Does not mutate
Replaces first occurrence of target with replacement
string reversed(this)Returns reversed string
num size(this)Returns length of this string
list split(this, string delimiter)Splits this string by given separator and returns that list
bool startsWith(this, string prefix)Checks if this string starts with given prefix
string swappedCase(this)Makes all uppercase letters lower and vice versa
string upperCased(this)Returns same string, but with all characters being in uppercase
List extends ObjectAn ordered dynamic collection of various elements
None
void add(this, value)Adds given value to the end
void addAll(this, list values)Adds all given values to the end
void clear(this)Clears the list
num count(this, needle)Counts all occurrences of given needle in this list
num find(this, needle)Returns index of first occurrence of needle in this list
If needle was not found, -1 is returned
num findFromRight(this, needle)Returns index of first occurrence of needle in this list, counting from rightmost element
If needle was not found, -1 is returned
object get(this, num index)Returns element at given index. If index is unrepresented, null is returned
void insert(this, num index, value)Inserts given value at given index
After operation, value's located at index. All further elements are shifted by +1
string joined(this, string separator)Same as String::inBetweenOf
object pop(this)Removes last element from list and returns the removed element
object remove(this, element)Removes given element from list. Returns removed element
object removeElementAt(this, num index)Removes element at given index from list. Returns removed element
void reverse(this)Reverses this list
list reversed(this)Does not mutate
Returns reversed list
object set(this, num index, value)Sets element at given index.
If list's size < index, then list is expanded with null-s up to given index
num size(this)Returns size of this list
void sort(this, func comparator)Sorts the list with given comparator.
Comparator is a function which returns:
list sorted(this, func comparator)Does not mutate
Acts like List::sort, but returns sorted list
Dict extends ObjectA string key -> object value data structure
None
dict static assemblePairs(list pairs)Assemble dict from given list of [key, value] pairs
void clear(this)Clears this dict
bool containsKey(this, string key)Check if this dict contains given key
object get(this, string key)Get value by given key in this dict
list keys(this)List all keys in this dict
list pairs(this)List all [key, value] pairs
void set(this, string key, value)Set given key to given value in this dict
num size(this)Returns size of this dict
list values(this)List all values in this dict
Func extends ObjectResembles functions and methods
None
None
Null extends ObjectResembles the null value
None
None
Thread extends ObjectAn asynchronous thread
None
_constructor(this, func f, list args)Create a thread with specific function and save arguments
object getResult(this)Returns the value that function returned
If function is not over yet, returns null
bool isAlive(this)Check whether the thread is alive or not
void start(this)Starts execution of the function with defined arguments
Thread ends when function ends
void stop(this)Stops the thread
object waitForResult(this)Hangs while thread is alive and returns
the value that function will return
ExceptionBase class for all exceptions in Quail
string messageNone
AssertionException extends ExceptionThrown when assert results in false
None
None
CircularDependencyException extends ExceptionThrown when one file is used in other file, that the first one trying to use
None
None
DerivationException extends ExceptionThrown on attempt to derive or extend from non-prototype object
object targetNone
IOException extends ExceptionResembles Java's IOException
None
None
IterationNotStartedException extends ExceptionThrown when _next() is called, but iteration was not started
None
None
IterationStopException extends ExceptionShould be thrown when iteration reaches its end
None
None
UnsuitableTypeException extends ExceptionThrown when object is not suitable for operation because of its type
object valueNone
UnsuitableValueException extends ExceptionThrown when object is not suitable for operation because of its value
object valueNone
UnsupportedConversionException extends ExceptionThrown when object is not suitable for conversion
object operandstring targetTypeNone
UnsupportedIterationException extends ExceptionThrown when object is not suitable for iteration
object operandNone
UnsupportedOperationException extends ExceptionThrown when an operation is not supported by object
object leftstring operatorobject rightNone
UnsupportedStepSubscriptException extends ExceptionThrown when object is not suitable for stepped subscript
object operandNone
UnsupportedSubscriptException extends ExceptionThrown when object is not suitable for subscript
object operandNone
UnsupportedUnaryOperationException extends ExceptionThrown when an operation is not supported by object
string operatorobject operandNone
IndexOutOfBoundsException extends ExceptionThrown when indexing is out of bounds
num indexnum sizeNone
ClarificationException extends ExceptionThrown when clarified variable is assigned to unsupported value
string clarifiersobject valueNone
ArgumentClarificationException extends ExceptionThrown when clarified argument is assigned to unsupported value
string clarifiersobject valuestring nameNone
FinalAssignedException extends ExceptionThrown when finalized variable is reassigned
object valueNone
InternalException extends ExceptionThrown when something in Quail goes wrong
Usually indicates bugs in QRE
Report occasions to the developer
None
None
UnpackingException extends ExceptionThrown when for loop tries to unpack a value to wrong
number of variables. E.g. for a, b, c in some_dict
(dict can unpack only to key, value - 2 variables)
num presentnum expectedNone
UnknownLibraryException extends ExceptionThrown when unknown library is being imported
None
None
bool all(list values)Check if all given values are true
bool any(list values)Check if any of given values is true
object clone(obj)Clones given object
object copy(obj)Copies given object
list enumerate(list collection)Numerates given collection
E.g. enumerate(["a", "b", "c"]) -> [[0, "a"], [1, "b"], [2, "c"]]
list zip(list left, list right)Zips 2 lists into one
E.g. zip([0, 1, 2], ["a", "b", "c"]) -> [[0, "a"], [1, "b"], [2, "c"]]
list map(func callback, list collection)Applies given function to every item in collection and returns results of function in the order of application
num hash(obj)Hashes given object
num millis()Get current time in milliseconds
list zip(list a, list b)Zips two lists into one list of pairs. E.g.:
zip([1, 2], ["a", "b"]) -> [[1, "a"], [2, "b"]]
string input(string prompt="")Put given prompt to console, wait for user input and return it
void print(values...)Print all values separated by space and put \n at the end
void put(values...)Print all values separated by space, but do not put \n at the end
num abs(num n)Absolute value of given number
num acos(num n)Arc cosine of given number
num asin(num n)Arc sine of given number
num atan(num n)Arc tangent of given number
num atan2(num x, num y)Arc tangent2 of given x;y
num cos(num n)Cosine of given number
num cosh(num n)Hyperbolic cosine of given number
num sum(list values)Returns sum of all numbers in given collection
num max(list values)Returns maximal value from given collection
num min(list values)Returns minimal value from given collection
num sin(num n)Sine of given number
num sinh(num n)Hyperbolic sine of given number
num tan(num n)Tangent of given number
num tanh(num n)Hyperbolic tangent of given number
string bin(num n)Convert given number to base-2 (integer only)
num dec(string n, num base)Converts given number representation to in given base to base-10 (integer only)
string hex(num n)Convert given number to base-16 (integer only)
string oct()Convert given number to base-8 (integer only)
void writeFile(string path, string contents)Writes file as plain text
string readFile(string path)Reads file as plain text