Tutto su calc –quasi

Dai! è da tanto che volevo farlo e forse oggi finisco l’esame iniziato l’altro giorno; interessa –forse– anche a G.

Seguo il manuale creato nel post precedente.

c0

Chiaro no? Resta da esaminare il comando read e lo script qtime.cal; prossimamente…

L’opzione -f da usarsi quando si invoca uno script, per esempio ecco mersenne, preso dal manuale con piccole modifiche:

#!/usr/bin/calc -q -s -f

if (argv() != 2) {
    print("usage: mersenne exp\n")
}

/* print the mersenne number */
print "2^", argv(1), "- 1 =", 2^eval(argv(1))-1;

mers127l’opzione -q disabilita la lettura degli script di start-up, serve anche -s; le funzioni saranno da vedere in seguito. Lo script l’ho copiato dal man. Ma ho dovuto modificarlo, in parecchi punti, come cambiare gli indici di argv(). E per capire cosa fare mi sono letto tutto il manuale. Molto completo anche se c’è qualche errore, forse dovuto agli aggiornamenti di versione (calc ha una storia lunga).
Ma il manuale dove si trova, non ti eri lamentato che manca?
No, è embedded (come si dice da noi?) nell’help. per esempio se volete sapere tutto sulle funzioni eseguite calc 'help buitin' > functions (crea un file di testo, un txt). Per sapere i nomi degli help naturalmente si fa calc 'help help' > help.

Adesso ci sarebbero tante cose da dire ma sono già tutte là. Solo un paio di cose che mi hanno impegnato un pochino:

  • la sintassi è simile a quella del C/C++ ma con alcune differenze, ^ eleva a potenza (come in Basic, in alternativa si può usare **); i commenti sono come in C con /* commento qui */ o con ##, equivalente a // del C++, dev’essere doppio;
  • in qualche caso cambiano le precedenze nella valutazione delle istruzioni composte;
  • nei cicli (for, while, …) la { va sulla riga della definizione, come in Go, dà errore su una linea a sé.

Per il resto è tutto OK, usabile. Ah! una cosa: la libreria per i numeri a precisione arbitraria può essere usata anche per il C/C++.
Esiste una raccolta di script, come qtime.cal usato nell’esempio soprastante che risolvono problemi anche peregrini.
Ma dovete leggere la documentazione, è un vero e proprio linguaggio di programmazione, creato da David I. Bell e attualmente curato da Landon Curt Noll (http://www.isthe.com/chongo/) che si firma: chongo (share and enjoy) /\../\

Una cosa che –lo so– non farà piacere a qualcuno: non c’è per Windows.
Perché queste cose non si fanno anche per Windows? Chissà… :mrgreen:

Posta un commento o usa questo indirizzo per il trackback.

Trackback

  • bc invece di calc | Ok, panico su 21 agosto 2014 alle 11:03

    […] casa il mio giovane amico G. e devo ancora finire la tirata sul calcolo con precisione arbitraria. Cosa già fatta con calc ma ci sono alternative. Tante. Oggi parlo di bc, uno dei miei favoriti da […]

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: