\doifsomething & Co.

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 21 anni, 3 mesi fa da ev.
  • Creatore
    Topic
  • #6025
    ev
    Partecipante
      Up
      0
      Down
      ::


      Ciao,

      Dopo aver rovistato nel codice e (inutilmente) nello wiki, non sono ancora riuscito a capire come usare alcuni costrutti condizionali. Nel dettaglio si tratta di \doifvalue, \doifnotvalue, \doifelsevalue, \doifnothing, \doifsomething, \doifelsenothing, \doifvaluenothing, \doifvaluesomething e \doifelsevaluenothing. La descrizione, trovata in syst-ext.tex nella vecchia versione di ConTeXt che ho sotto mano, non mi è di molto aiuto 🙁 e gli usi che ho trovato sparsi negli altri file della base mi confondono con una marea di dettagli…

      Nessuno ha qualche semplice esempio d’uso da condividere?

    Visualizzazione 1 filone di risposte
    • Autore
      Risposte
      • #6026
        Up
        0
        Down
        ::


        Qualcosa da sperimentare
        `\starttext
        \def\TEST{Foo}
        \def\EMPTYTEST{}
        \type{\def\TEST{Foo}}\par
        \type{\def\EMPTYTEST{}}\par
        \type{\TEST==Foo ?:}\doifvalue{TEST}{Foo}{yes} \par
        \type{\TEST==foo ?:}\doifvalue{TEST}{foo}{ok} \par
        \type{\MyTEST==foo ?:}\doifvalue{MyTEST}{foo}{ok} \par
        \type{not \TEST==foo ?:}\doifnotvalue{TEST}{foo}{ok} \par
        \type{not \MyTEST==foo ?:}\doifnotvalue{MyTEST}{foo}{yes} \par
        \type{\TEST==Foo ?:}\doifelsevalue{TEST}{Foo}{yes}{no} \par
        \type{\TEST==foo ?:}\doifelsevalue{TEST}{foo}{yes}{no} \par
        \type{\TEST has value ?:}\doifsomething{\TEST}{yes} \par
        \type{\MyTEST has value ?:}\doifsomething{\MyTEST}{yes} \par %% oops macro non definita !!!
        \type{\EMPTYTEST has value ?:}\doifsomething{\EMPTYTEST}{yes} \par
        \type{\TEST is empty ?:}\doifnothing{\TEST}{yes} \par
        \type{\MyTEST is empty ?:}\doifnothing{\MyTEST}{yes} \par %% oops macro non definita !!!
        \type{\EMPTYTEST is empty ?:}\doifnothing{\EMPTYTEST}{yes} \par
        \type{\TEST is empty ?:}\doifelsenothing{\TEST}{yes}{no} \par
        \type{\MyTEST is empty ?:}\doifelsenothing{\MyTEST}{yes}{no} \par %% oops macro non definita !!!
        \type{\EMPTYTEST is empty ?:}\doifelsenothing{\EMPTYTEST}{yes}{no} \par
        \type{\TEST is empty ?:}\doifvaluenothing{TEST}{yes} \par
        \type{\MyTEST is empty ?:}\doifvaluenothing{MyTEST}{yes} \par %% oops macro non definita !!!
        \type{\EMPTYTEST is empty ?:}\doifvaluenothing{EMPTYTEST}{yes} \par
        \type{\TEST is empty ?:}\doifvaluesomething{TEST}{yes} \par
        \type{\MyTEST is empty ?:}\doifvaluesomething{MyTEST}{yes} \par %% oops macro non definita !!!
        \type{\EMPTYTEST is empty ?:}\doifvaluesomething{EMPTYTEST}{yes} \par
        \stoptext`

        luigi

      • #6027
        ev
        Partecipante
          Up
          0
          Down
          ::


          Come sempre, grazie mille per la risposta ed il tempo che dedichi al forum. Cerca che ti cerca ho trovato un paio d’usi comprensibili di quei costrutti condizionali nel sorgente del numero 0 del magazine (interessante l’uso con \getvalue…).

      Visualizzazione 1 filone di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top