„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
→Tömbök: Tuple |
→Tuple: rutinok |
||
420. sor:
A fordító ad nekik értéket. Ez pótolja a felsorolási típust.
===Tuple és rutin típusok===
A TUPLE az Eiffel direkt szorzat típusa. Hasonlít a generikusokra, de nem az, hiszen akárhány paramétere lehet:
<code>
<span style="color:blue">
TUPLE[] = TUPLE :> TUPLE[STRING]
TUPLE[STRING] :> TUPLE[STRING, INTEGER]
TUPLE[STRING, INTEGER] :> TUPLE[STRING, INTEGER, STRING]
--...
437 ⟶ 435 sor:
</code>
ahol is a hosszabb TUPLE a kezdőszeletét tartalmazó TUPLE altípusa (:>). Emellett még teljesül az is, hogy a bővebb típust tartalmazó TUPLE tartalmazó típus (<:):
<code>
448 ⟶ 446 sor:
TUPLE[STRING, INTEGER] <: TUPLE[ANY, ANY, ANY]
--...
</span>
</code>
A rutin típusok leszármazása:
A rutinok típusa a ROUTINE; ebből származik a PROCEDURE és a FUNCTION típus. A logikai függvények típusa a PREDICATE a FUNCTION altípusa. A TUPLE-hoz hasonlóan további altípusok képezhetők:
<code>
<span style="color:blue">
ROUTINE[TUPLE[]] = ROUTINE[TUPLE] = ROUTINE :> ROUTINE[TUPLE[STRING]]
ROUTINE[TUPLE[STRING]] :> ROUTINE[TUPLE[STRING, INTEGER]]
ROUTINE[TUPLE[STRING, INTEGER]] :> ROUTINE[TUPLE[STRING, INTEGER, STRING]]
--...
</span>
</code>
valamint
<code>
<span style="color:blue">
ROUTINE[TUPLE[]] = ROUTINE[TUPLE] = ROUTINE
ROUTINE[TUPLE[STRING]] <: ROUTINE[TUPLE[ANY]]
ROUTINE[TUPLE[STRING, INTEGER]] <: ROUTINE[TUPLE[ANY, ANY]]
ROUTINE[TUPLE[STRING, INTEGER]] <: ROUTINE[TUPLE[ANY, ANY, ANY]]
--...
|