„Eiffel (programozási nyelv)” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
→‎Generikusok: korlátozott generikusság
18. sor:
Meyer, a nyelv alkotója, saját céget alapított, [[Eiffel Software]] néven, amelyik a programnyelv fejlesztésére szakosodott, és saját implementációjuk az [[EiffelStudio]].
==Szintaxis és szemantika==
Az Eiffel nyelv csak az ASCII karaktereket fogadja el. Ha más karakterek bukkannak fel, akkor a fordító hibát jelez.
===Konvenciók===
Maga a nyelv nagybetűérzéketlen: a kis- és a nagybetűk használatát konvenciók szabályozzák. A nevekben csak ASCII karakterek szerepelhetnek; a neveket betűvel kell kezdeni, de a továbbiak lehetnek betűk, számok és aláhúzásjelek is. Az aláhúzásjel a több szavas nevek tagolására szolgál.
23 ⟶ 24 sor:
 
A <code>;</code> tagolásra szolgál. A sorok végén kitehető, de nem hiba, ha nincs.
 
Konstans megadása például:
 
<code>Solar_system_planet_count: INTEGER = 9</code>
===Vezérlési szerkezetek===
A feltételes utasítás így néz ki:
339 ⟶ 344 sor:
</span>
</code>
 
Kivételek az EXCEPTIONS osztályból származtathatók.
===Generikusok===
Az általánosítás és az absztrakció az Eiffel nyelv alapelvei közé tartozik. A módszertan kiemelten kezeli az általános, de specializálható szerkezeteket. Bertrand minden projekthez javasol egy általánosítási szakaszt, ahol a projektben megalkotott osztályokat lehetőség szerint általánosítják. Generikusok valósítják meg például az adatszerkezeteket.
381 ⟶ 388 sor:
 
'''end'''
</span>
</code>
==Tömbök==
Tömbök megadhatók az ARRAY generikus osztály példányaiként, vagy például így:
 
<code>
<span style="color:blue">
tomb = <<4, 6, 9>>
</span>
</code>
 
Ez egy manifeszt tömb, típusa ARRAY[INTEGER], tehát ekkor is a gtenerikus ARRAY osztály áll a háttérben.
 
Manifeszt konstansok stringekhez is elérhetők:
 
INTEGER = "Go get a life!"
 
Használható az <code>unique</code> is: <code>
<span style="color:blue">
a, b, c, n = unique
</span>
</code>
 
A fordító ad nekik értéket. Ez pótolja a felsorolási típust.
===Példaprogram===
<code>'''class'''