5.3 KiB
5.3 KiB
Tampio Cheatsheet
Tampio uses Finnish grammatical cases instead of syntax tokens like (, ), ,, ..
The case of a word tells the compiler its role — parameter, argument, target, etc.
Finnish Cases in Tampio
| Case (Finnish) | Suffix | Role in Tampio | Example |
|---|---|---|---|
| Nominatiivi | — | Function name; return value; variable base form | kertoma, pieni luku |
| Genetiivi | -n |
Function parameter (in definitions and calls); field access | pienen luvun kertoma |
| Illatiivi | -in/-iin/-aan/-ään |
Addend (lisättynä); remainder arg (rajattuna); assignment target (luetaan luku) |
lisättynä kaniin |
| Adessiivi | -lla/-llä |
Multiplicand (kerrottuna); subtrahend (vähennettynä); divisor (jaettuna); increment amount |
kerrottuna kertomalla |
| Translatiivi | -ksi |
Assignment lvalue (asetetaan) |
kuvaukseksi asetetaan |
| Partitiivi | -a/-ä/-ta/-tä |
Increment lvalue (kasvatetaan); some quantifiers |
laskuria kasvatetaan |
| Essiivi | -na/-nä |
Two-parameter function name; type conversion | merkkijonona, kerrottuna |
Arithmetic Operators
These are essive functions — the first operand is the subject, the second follows the operator in the case shown.
| Operator | Second arg case | JavaScript | Example |
|---|---|---|---|
lisättynä |
illative | + |
x lisättynä y:hin |
ynnättynä |
illative | + |
x ynnättynä y:hin |
kasvatettuna |
adessive | + |
x kasvatettuna y:llä |
vähennettynä |
adessive | - |
x vähennettynä y:llä |
kerrottuna |
adessive | * |
x kerrottuna y:llä |
jaettuna |
adessive | / |
x jaettuna y:llä |
rajattuna |
illative | % |
x rajattuna y:hin |
yhdistettynä |
illative | .concat |
x yhdistettynä y:hin |
Operator chaining is controlled by list separators (see Lists below):
x jaettuna y:llä vähennettynä z:lla lisättynä w:hen # x/(y-(z+w))
x jaettuna y:llä, vähennettynä z:lla ja lisättynä w:hen # ((x/y)-z)+w
Function Definition
[parameter/genitive] [function name] on [expression].
The parameter must be two words: an adjective + class name. Use se to refer to it in the body.
Pienen luvun kertoma on
riippuen siitä, onko se pienempi tai yhtä suuri kuin yksi,
joko yksi
tai pieni luku kerrottuna pienen luvun edeltäjän kertomalla.
Or with unnamed parameter (se = this):
Luvun edeltäjä on se vähennettynä yhdellä.
Function Call
[argument/genitive] [function name]
viiden kertoma # factorial(5)
neljän neliöjuuri # sqrt(4)
Ternary Expression
riippuen siitä, [onko/eikö] [expr] [operator] [expr], joko [a] tai [b]
riippuen siitä, onko se pienempi tai yhtä suuri kuin yksi, joko yksi tai ...
Comparison Operators
Used in ternaries and jos conditions.
| Tampio | JavaScript |
|---|---|
on (empty) |
== |
on yhtä suuri kuin |
== |
on sama kuin |
=== |
on erisuuri kuin |
!= |
on pienempi kuin |
< |
on suurempi kuin |
> |
on pienempi tai yhtä suuri kuin |
<= |
on enintään |
<= |
on suurempi tai yhtä suuri kuin |
>= |
on vähintään |
>= |
Negate with ei ole: se ei ole nolla = this !== 0.
Variable Declaration
Olkoon [name] uusi [type], jonka [field] on [value].
Olkoon [name] [value].
Olkoon pieni muuttuja uusi muuttuja, jonka arvo on nolla.
Method Definition (Procedures)
Kun [self] [verb] [parameters],
[statement],
[statement]
ja [last statement].
Kun nykyinen sivu avautuu,
pieneen muuttujaan luetaan luku
ja nykyinen sivu näyttää pienen muuttujan arvon kertoman.
If Statement
, jos [condition], niin [statement list]
, jos taas [condition], niin ... # else if
jos listan koko ei ole nolla, niin
listan ensimmäinen alkio käsitellään
ja listan häntää iteroidaan.
Lists (Blocks)
Commas and ja replace { / }:
| Syntax | Meaning |
|---|---|
[a], [b], [c] ja [d] |
List of four items |
[a] eikä muuta |
List of one item |
[a]. |
List of one item (at end of definition) |
Class Definition
[class name/adessive] on [field list].
Vektorilla on komponentit. # class vektori { komponentit = [] }
Työntekijä on henkilö, jolla on työnantaja. # class Tyontekija extends Henkilö
Assignment
[lvalue/translative] asetetaan [expression] # lvalue = expression
[lvalue/partitive] kasvatetaan [expression/adessive] # lvalue += expression
kivan kaverin kuvaukseksi asetetaan teksti "Hän on kiva"
loistavaa laskuria kasvatetaan yhdellä
Common Built-ins
| Tampio | JavaScript | Notes |
|---|---|---|
nykyinen sivu |
document |
HTMLDocument |
nykyinen sivu näyttää X |
document.write(X) |
|
teksti "..." |
"..." |
String literal |
lause "..." |
"..." |
String literal (alternative) |
muuttujaan luetaan luku |
muuttuja.arvo = parseInt(prompt(...)) |
Read number |
X näytetään käyttäjälle |
alert(X) |
Browser alert |
se |
this |
Self / first parameter |
nolla…kymmenen |
0…10 |
Number literals |