variabile – espressione – expl3 \fp_to_decimal:N vs. \fp_to_decimal:n in expl3

  • Creatore
    Topic
  • #153723
    bencio
    Partecipante
      Up
      0
      Down
      ::

      Quando provo a usare expl3 mi imbatto anche in cose che proprio non capisco,
      e allora provo a chiedere.

      Mi piaccerebbe capire a che cosa serve la distinzione tra

      \fp_eval:n e \fp_use:N

      e poi la distinzione tra

      \fp_to_decimal:N e \fp_to_decimal:n

      Al di là dell’evidente doppione, che è dichiarato nel manuale (\fp_eval:n e \fp_use:N sono sinonimi di \fp_to_decimal:N e \fp_to_decimal:n), e tralasciando la differenza lessicale tra USARE una variabile e VALUTARE una espressione, il problema vero è perché si debba distinguere in questo contesto fra il trattamento di una variabile e di una espressione.
      Nel momento in cui uso/valuto/converto una variabile la sto trattando come una espressione.
      E’ la più semplice delle espressioni, ma comunque di una espressione si tratta.

      Ci sono contesti (per esempio fare una assegnazione di valore) in cui ci sta una variabile ma non potrebbe stare una espressione, ma ci sono contesti in cui la singola variabile svolge proprio il ruolo di semplicissima espressione da valutare.

      Pongo la questione in modo diverso.

      \fp_to_decimal:N <variabile>
      e
      \fp_to_decimal:n {<espressione semplice costituita solo da una variabile>}

      fanno la stessa cosa ??

      Se esiste una differenza, nel manuale citato quì avanti non è spiegata.
      Se non esiste una differenza, a che cosa serve la prima versione ?? a risparmiare le graffe ??
      Se il risultato è uguale ma la implementazione è diversa per motivi di efficienza, allora OK, ma perchè non dirlo ??
      O forse da qualche parte si trova questa informazione ?

      Si veda
      The LATEX Project “The LATEX3 Interfaces” – versione 2026-09-09 –
      file: interface3.pdf – sezione 30.3 – pagine 268-269.

      E’ possibile che il problema che descrivo si ponga anche per altri comandi.

      Un saluto a tutti

      Battista

    • Devi essere connesso per rispondere a questo topic.

    Go to top▲