Basic Syntax
// is used to add comments.
Use of semicolons (;) is not required.
If you are calling the
Run(code)block from a text block. Make sure there are no comments, since anything in a text block gets inlined.
All Java operators are supported (except a few bitwise operarors).
Datatypes
All of the data types are interoperable with App Inventor.
Bool, Int, Char, Float, Double, Any, Nil, List, Dict are the supported types.
An example of few:
print(
"Hello, World!", // a String
'A', // a Char
true, // a Bool
123, // an Int
12.3, // a Float
3.14D, // a Double
makeList("App", "Inventor") // a List
// a Dict
makeDict(
"India": "Delhi",
"USA": "Washington DC"
)
)This outputs the following:
Hello, World!
A
true
123
12.3
3.14
["App", "Inventor"]
{"India":"Delhi", "USA": "Washington DC"}Conditional Expressions
let x = 5
let y = 8
if (x > y) {
print("X is greater")
} else if (x == y) {
print("Both are equal!")
} else {
print("Y is greater")
} You may use if not just for flow control, but also as an expression:
let x = 5
let y = 8
println(if (x > y) "X is greater" else "Y is greater")For loop
let places = arrayOf("India", "Japan", "Germany")
for (place in places) {
print(place)
}or the classical way:
let places = arrayOf("India", "Japan", "Germany")
for (var i = 0; i < len(places); i++) {
print(places[i])
}Until loop
let places = arrayOf("India", "Japan", "Germany")
var index = 0
until (index < len(places)) {
print("Item at index " + index + " is " + places[index])
index++
}Special loop
It's one of the special features offered by Eia!
Iterating backwards from 5 to 1:
each (x: 5 to 1) {
print(x)
}Iteration from 2 to 10 by increment of 2:
each (y: 2 to 10 by 2) {
print(x)
}Type checks and casting
Like Kotlin, the is checks if an expression belongs to a certain type.
let a = "Meow!"
println(a is String) // true
println("Meow" + 8 is Int) // false```To cast values, for example from Any to Int, we use the cast operator :: followed by a type:
// casting from Any to String
let name: Any = "Meow"
let reName: String = name::StringFunctions
Eia functions are declared using the fun keyword:
fun square(x: Int): Int {
return x * x
}then to call a function:
let squared = square(5)Parameters
Parameters are defined in the format name: Type and are seperated using commas:
fun sayMeow(n: Int) {
print("Meow ".repeat(n))
}