ChucK

Lexikális elemek

Megjegyzések

Egysoros megjegyzéseket a // jeltől kezdve helyezhetünk el a programban. Többsoros megjegyzések a /* jeltől a */-ig terjednek.

// ez egy megjegyzés int foo; // mégegy megjegyzés comment /* többsoros megjegyzés... */

Változók

Változók elnevezésére az ASCII karaktereket, számokat és aláhúzás jelet használhatjuk.

Konstansok

Egész konstansokat megadhatunk tizes számrendszerben, illetve a '0x' előtaggal tizenhatos számrendszerben. Lebegőpontos konstansokat tizedesponttal lehet medadni. Komplex számok megadhatóak algebrai (a + bi) alakban a '#(a,b)' kifejezéssel, polár koordinátás alakban a %(r,phi) kifejezéssel. String konstansokat "" jelek között lehet megadni. Tömb inicializálók megadása [ és ] jelek között lehet. A nyelv támogatja a többdimenziós tömböket.

42 // egész konstans 0xaf30 // egész konstans 16-os számrendszerben 1.323 // lebegőpontos konstans 1. // lebegőpontos konstans (alternatív alak) .323 // lebegőpontos konstans (alternatív alak) #(1,-1) // komplex szám algebrai alak %(30,.5) // komplex szám polárkoordinátás alak "bar" // string konstans 5.5::second // időtartam (dur) konstans a beépített second időtartam segítségével [ 1, 2, 3 ] // egészek tömbje [ [1,3], [2,4] ] // kétdimenziós tömb

Foglalt szavak

A ChucK nyelvnek számos foglalt szava van, amelyek nem használhatók változók neveként. A foglalt szavak teljes listája:

Primitív típusok

Vezérlési szerkezetek

Osztály kulcsszavak

Egyéb Chuck kulcsszavak

Speciális értékek

Speciális előre definiált időtartamok

Speciális globális ugenek (Unit Generator, lásd később)

Blokkszerkezet

Eljárásblokkokat a { és } jelek között lehet megadni.

Hibakereső kiíratás

Lehetőség van a programban hibakereső kiíratást elhelyezni a <<< és >>> jelek segítségével. Ekkor a virtuális gép a <<< és >>> közti kifejezésnek kiírja az értékét és típusát. A hibakereső kiíratás a program futását nem befolyásolja. Lehetőség van vesszővel elválasztott lista megadására is, ebben az esetben csak a kifejezések értéke kerül kiírásra.

// értékül ad 5-öt egy új változónak 5 => int i; // kimenet: "5 : (int)" <<<i>>>; // kimenet: "hello! : (string)" <<<"hello!">>>; // kimenet: "3.5 : (float)" <<<1.0 + 2.5 >>>=> float x; // kimenet: "the value of x is 3.5" <<<"the value of x is" , x >>>; // kimenet: "4 + 5 is 9" <<<"4 + 5 is", 4 + 5>>>; // kimenet: "here are 3 random numbers ? ? ?" <<<"here are 3 random numbers", Math.random2(0,9), Math.random2(0,9), Math.random2(0,9) >>>;