• [^] # Re: Si j'ai bien tout compris

    Posté par . En réponse au journal Si j'ai bien tout compris. Évalué à 1.

    Après réflexion c'est vrai que le type est forcé en ARRAY[G] ... il doit y avoir un truc, ça m'étonnerait que ça soit innocent.
    s est déclarée comme STACK[G], ça se fait comme ça :

    plop is
    local
    s : STACK[G]
    do
    !ARRAYED_STACK[G]!s.make
    -- ou autre syntaxe avec create
    end -- plop

    L'arrayed stack est un détail d'implantation, c'est sensé être utilisé avec une sémantique STACK et quand on code en eiffel on pose pour les variables un type "générique", plus comportemental qu'orienté implantation.
    Dans ce cas, je ne peux pas ramener s à un ARRAY[WHATEVER]. Peut-être avec des typage dégueux à base de ?= (c'est ça, non ?) mais là c'est du gruïkage donc bon, c'est normal de tout faire foirer.

    Bref, ça ne me viendrais pas à l'idée de déclarer une variable en tant qu'ARRAYED_STACK en dehors d'ARRAYED_STACK.