A karakter string egy sorozata a karaktereknek. Ez idézőjelben lehet megadni. Pl.
"ABCDEFG"
A karakter stringet úgy lehet kezelni és műveleteket végezni vele, mit bármely más sorozattal. Például a fenti string teljesen azonos az alábbi sorozattal:
{65, 66, 67, 68, 69, 70, 71}amelyik tartalmazza a megfelelő ASCII kódokat. Az Euphoria fordító rögtön konvertálja "ABCDEFG"-t a fenti számok sorozatára. Bizonyos értelemben nincsenek "stringek" az Euphoria-ban, csak számok sorozata. Az idézőjeles string az valójában csak kényelmes jelölés, ami megkímél az összes ASCII kód begépelésétől.
"" egyenlő {}. Mindkét reprezentáció a 0-hosszú sorozat, azaz az üres sorozat. Mindkét jelölés használható, az "" általában a 0-hosszú karakter sorozatra használjuk, míg a {} más üres sorozatokra.
Az önálló karakter egy atom. Az önálló karakter az egy atom. Aposztróf jelek között lehet megadni. Az önálló karakter (amelyik atom) és a karakter az 1-hosszú karakter string (amelyik sorozat) különbözik egymástól. Pl.:
'B' -- equivalent to the atom 66 - the ASCII code for B "B" -- equivalent to the sequence {66}
'B' csak egy jelölés, ami egyenlő a 66 begépelésével. Nincs valójában "karakter" az Euphoria-ban csak szám (atom).
Fontos, hogy az atom nem azonos avval az egy-elemű listával amelyik ugyanazt az értéket tartalmazza, bár van néhány beépített eljárás ami azonosként kezeli őket.
Speciális karakterek amiket \ után írunk:
\n újsor \r kocsi vissza \t tab \\ backslash \" idézőjel \' aposztróf jel
A sorozat létrehozásához, kapcsos zárójelet és vesszőt használunk:
{a, b, c, ... }ez is egy operátor, aminek n operandusa van, ahol n értéke 0 vagy több. Ez az operátor egy n-elemű sorozatot készít a megadott értékekből pl:
x = {apple, orange*2, {1,2,3}, 99/4+foobar}
A sorozat egy elemét kiválaszthatjuk, ha megadjuk az elem sorszámát szögletes zárójelben. Az elemek számozása 1-gyel kezdődik. A nem-integer indexeket az interpreter lefelé kerekíti integerré.
Pl. ha x = {5, 7.2, 9, 0.5, 13} akkor x[2] az 7.2. Feltételezve hogy nem rendeltünk közben mást x[2]-höz :
x[2] = {11,22,33}
akkor x egyenlő lesz {5, {11,22,33}, 9, 0.5, 13}. Ha most kérdezzük meg x[2] értékét, azt kapjuk , hogy {11,22,33} és ha azt kérdezzük x[2][3] a 33 atomot kapjuk. Ha olyan számmal próbálsz indexelni egy sorozatot, ami kívül esik az 1 és elemek száma számmal tartományból, akkor index hibát fogsz kapni. Például x[0], x[-99] vagy x[6] hibát okoz. Akkor is hiba üzenet kapunk ha az x[1][3] értékét kérdezzük és x[1] nem sorozat. Nincs korlátozva egy változót követő indexek száma, de a változónak a kellő mélységben tartalmaznia kell sorozatokat. A két dimenziós tömb, amely más nyelvekben megszokott, könnyen reprezentálható sorozatok sorozatával
x = { {5, 6, 7, 8, 9}, -- x[1] {1, 2, 3, 4, 5}, -- x[2] {0, 1, 0, 1, 0} -- x[3] }ahol a számokat úgy írhatjuk, hogy világos struktúrát kapjunk. x[i][j] kifejezéssel elérhetjük bármely elemet.
A két dimenzió nem szimmetrikus mivel egy egész "sor" kiválasztható az x[i]-vel, de nincs hasonlóan egyszerű kifejezés, egy teljes oszlopot kiválasztására. Könnyen és rugalmasan készíthetünk más logikai struktúrák, mint n-dimenziós vektor, stringek vektora, struktúrák, struktúrák vektora, stb.
3-D array: y = { {{1,1}, {3,3}, {5,5}}, {{0,0}, {0,1}, {9,1}}, {{-1,9},{1,1}, {2,2}} }
y[2][3][1] is 9
Stringek vektora:
s = {"Hello", "World", "Euphoria", "", "Last One"}
s[3] is "Euphoria"
s[3][1] is 'E'
Egy struktúra:
employee = { {"John","Smith"}, 45000, 27, 185.5 }
Egy struktúrában egy "mezők" vagy elemek elérésére készítünk konstansok halmazát, melyek a változó mezők nevei. Ez könnyen olvashatóbbá teszi a programot. Pl.
constant NAME = 1 constant FIRST_NAME = 1, LAST_NAME = 2 constant SALARY = 2 constant AGE = 3 constant WEIGHT = 4
A személy nevét el tudod érni employee[NAME]-mel, vagy ha vezeték nevet is használod, akkor employee[NAME][LAST_NAME]-mel.
Struktúrák vektora:
employees = { {{"John","Smith"}, 45000, 27, 185.5}, -- a[1] {{"Bill","Jones"}, 57000, 48, 177.2}, -- a[2] -- .... etc. }
employees[2][SALARY] would be 57000.
Az Euphoria adat struktúrája nagyon rugalmas. Az Euphoria adat struktúrája nagyon rugalmas. Más nyelvekben a vektoroknak előre meghatározott elemszáma van, és minden elemének egyforma típusa kell legyen. Az Euphoria mellőzte ezeket a megszorításokat. Könnyen adható új struktúra a fenti employees sorozathoz. Szokatlanul hosszú neveket is tárolhatunk a NAME mezőben. Lehet különféle elemeket, különböző méretben tárolni egyetlen egy sorozatban.
Megjegyzés: kifejezést nem lehet indexelni, csak változót. Pl: {5+2,6-1,7*8,8+1}[3] nem lehetséges, date()[MONTH] sem. Először hozzá kell rendelni egy változót a date() által visszaadott sorozathoz, ezután már lehet indexelni, hogy megkapjuk a hónapot.