„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
→‎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]
 
TUPLE[STRING, INTEGER]
 
--...
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]]
 
--...