Node.js. REPL e oltre. by Stefano Burigat



Documenti analoghi
RISOLUTORE AUTOMATICO PER SUDOKU

Unità 1 Introduzione al sistema MAPLE

JavaScript. crash course. by Stefano Burigat

Calcolare il massimo di una lista

Struttura di un programma Java

Introduzione al Python

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

1.0 GUIDA PER L UTENTE

Dati importati/esportati

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

OE-TL100 SOFTWARE PER RACCOLTA ORDINI MAGAZZINO

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

STAMPA UNIONE DI WORD

Gestione Risorse Umane Web

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

I) ALFANUMERICA: Lettere, numeri e caratteri propri della punteggiatura sono presenti nella zona evidenziata. Figura 1: TASTIERA ALFANUMERICA

Funzioni in C. Violetta Lonati

Esercizi di JavaScript

Prossime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1

Introduzione a ROOT. 1. Informazioni generali

Sistema Operativo di un Router (IOS Software)

Laboratorio di Informatica

Microsoft Word. Nozioni di base

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

ESTARWEB ISTRUZIONI SEZIONE DOCUMENTALE

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Guida all uso di Java Diagrammi ER

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Introduzione al Foglio Elettronico

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

MODULO 02. Iniziamo a usare il computer

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Aggiornamento programma da INTERNET

Java: Compilatore e Interprete

Il controllo della visualizzazione

Mac Application Manager 1.3 (SOLO PER TIGER)

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Amministrazione Trasparente

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

Introduzione al MATLAB c Parte 2

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI

1. Le macro in Access 2000/2003

jt - joetex - percorsi didattici

Word Libre Office. Barra degli strumenti standard Area di testo Barra di formattazione

Esercitazione n. 10: HTML e primo sito web

Come modificare la propria Home Page e gli elementi correlati

Javascript: il browser

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

DENALI Cloudbear (guide howto send fax by ) - Pag. 1/7

Mini Guida per Apple XCode. Maurizio Martinelli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Editor vi. Editor vi

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

Web 4164ETH Rel Lug 2010

PROCEDURA DI RILEVAZIONE E CARICO DELL INVENTARIO DI FARMACIA

NOZIONI BASE SHELL E SCRIPT LINUX

Si fa comunque presente che dentro il portale acquistinretepa.it sotto la voce HELP (vedi fig. successiva), si trovano tutti gli strumenti atti a

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

TEST: Word & Excel Tutti i diritti riservati. Computer Facile -

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Usare Python in Linux

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

per scrivere un articolo da prima pagina! per inviare una newsletter Come si crea Comunicazione Anfaa Edizione 4a.2013

Prova di Laboratorio di Programmazione

Questa guida vi illustrerà i principali passaggi da eseguire per l'inserimento dei Bandi di gara.

Guida Rapida all uso del License Manager di ROCKEY4Smart (V )

Il compilatore Dev-C++

Alcuni consigli per un uso di base delle serie di dati automatiche in Microsoft Excel

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Definizione di classi con array di oggetti

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

NOZIONI BASE PER ESERCITAZIONI

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

TRUCCHI CON LA TASTIERA

Laboratorio di programmazione

Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e

Syllabus (estratto) Foglio elettronico. Excel. Open office - Office. Principio e funzionamento 26/11/2012. A. Ferrari

Esercitazione Informatica I AA Nicola Paoletti

Inserimento dei dati

Algoritmi di Ricerca. Esempi di programmi Java

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

MANUALE EDICOLA 04.05

Richiesta pagina PHP (es: index.php)

1. CODICE DI ATTIVAZIONE 2. TIPOLOGIE GARANZIE 3. CONFIGURAZIONE NUMERI DI SERIE 4. DOCUMENTI

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

Transcript:

Node.js REPL e oltre by Stefano Burigat

Cos'è REPL? REPL (Read-Eval-Print-Loop) è un ambiente interattivo a riga di comando che permette di scrivere codice node ed eseguirlo istruzione per istruzione. REPL si attiva scrivendo node da un prompt dei comandi. REPL può essere utilizzato anche per scrivere ed eseguire codice puramente JavaScript.

Esempi Scrivete separatamente in REPL ognuno degli esempi seguenti (senza commenti e premendo INVIO al termine) e osservate il risultato (in tutte le slide successive, queste istruzioni sono sottintese). a = 2; b = "Node"; c = true; d = ['a', 'b', 'c']; var e = 23.4; //??

Carattere _ Il carattere _ (underscore) permette di accedere all'ultimo risultato ottenuto e sfruttarlo nelle istruzioni successive. Tramite _ è possibile accedere anche a proprietà e funzioni di un oggetto. var a = 2; _++; // come mai? ['a','b','c']; _.length; _.tostring();

Altre funzionalità Tutto ciò che scriviamo viene ricordato da REPL e può essere acceduto tramite freccia su e freccia giù. E' anche possibile utilizzare il tasto TAB per autocompletare parole chiave, funzioni e variabili. CTRL-C permette di uscire dal comando corrente, CTRL-D da REPL. Se si termina una riga con una parentesi (tonda, graffa, quadra), REPL consente di continuare la scrittura sulla riga successiva. function add(a,b){ return (a+b) } add(3,7);

Utilizzo di REPL REPL è molto comodo per testare frammenti di codice ma soprattutto per ispezionare oggetti, identificandone le proprietà. console; global; o = new Object(); o.name = "Test"; o;

Comandi nativi REPL supporta un certo numero di comandi nativi, la cui lista si può vedere inserendo il comando.help (con il punto davanti). I comandi più utili sono.save che permette di salvare la sessione corrente (l'input inserito dall'utente fino a quel momento), e.load che carica un file JavaScript nella sessione corrente. // partendo da una sessione pulita var numeri = [2,4,6]; numeri.foreach(function(value) { console.log(value); });.save test.js // uscire da REPL e rientrare.load test.js

Esercizi Utilizzate REPL per eseguire i seguenti frammenti di codice JavaScript (uno alla volta). Cercate di capire perchè ottenete quei risultati. alert("hello!"); "La somma di 5 e 15 è: " + 5 + 15; // come correggerlo? "3" + 1; "3" - 1; var nomi = Array("Tizio","Caio"); var numeri = Array(3,7,5); var nomi = Array("Tizio"); var numeri = Array(3);

var a = new Number; a == 0; // due uguale var a = new String; a == ""; var a = new Object; a == {}; var a = new Array; a == []; var a = {}; a == {}; var a = []; a == []; Esercizi

Esercizi typeof NaN; Infinity === 1/0; // tre uguale 0.1 + 0.2 === 0.3; NaN === NaN; "foo" + + "bar"; typeof null; null instanceof Object; null == false;!null;

Esercizi var result = "Brick" < "alphabet"; var result = "23" < "3"; var result = "23" < 3; var result = "a" < 3; var result1 = NaN < 3; var result2 = NaN >= 3; parseint('06'); parseint('08')

Esercizi 3 == "3"; true == 'true'; (true + 1) === 2; (true + true) === 2; true === 2; true === 1; 3 > 2 > 1; "hello".touppercase(); 3.toString();

Esercizi var f = function() { }; f.foo = 'foo'; f.name; f.name = 'foo'; f.name; var f = function myfunction() { }; f.name; var a = 8; var somefunc = function(){ console.log(a); var a = 8; }; somefunc();

Oltre REPL Per quanto REPL sia utile, non è molto comodo da usare. Il modo più semplice per scrivere programmi node è scrivere il codice con un editor di testo ed eseguire il file creato tramite il comando node seguito dal nome del file. Scrivete su un file test.js il codice seguente ed eseguitelo. console.log("hello Node!");

Esercizi Scrivete in file separati i due frammenti di codice seguenti ed eseguiteli. Cosa succede? Perchè? sum(10,10); function sum(num1, num2){ return num1 + num2; } sum(10,10); var sum = function(num1, num2){ return num1 + num2; };

Esercizi Create una funzione che somma i primi 100000 numeri e calcolatene il tempo di esecuzione (sfruttate la funzione Date.now()). Create un oggetto persona dotato delle proprietà nome, età, occupazione e di una funzione che stampa il nome. Provate tre modalità di creazione diverse: 1) come istanza del tipo Object, 2) come istanza del tipo Object utilizzando la notazione letterale, 3) come istanza di un tipo Persona appositamente definito.