Visualizzazione dei risultati da 1 a 10 su 23

Discussione: calcolo su una stringa

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    93
    Mmm.... ma per il mio caso può essere utile ?
    Se si dov e posso trovare documentazione ?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da banino84 Visualizza il messaggio
    Mmm.... ma per il mio caso può essere utile ?
    Se si dov e posso trovare documentazione ?
    La documentazione ufficiale è da qui: https://docs.oracle.com/javase/8/docs/ vedi nel diagramma il blocco "Scripting" (non il primo, ma quello nella sezione Integration Libraries). Trovi sicuramente anche articoli in rete ecc...

    Ecco un piccolo esempio (Java 6+):

    codice:
    import javax.script.*;
    
    public class ProvaJavaScript {
        public static void main(String[] args) {
            ScriptEngineManager manager = new ScriptEngineManager();
            ScriptEngine engine = manager.getEngineByExtension("js");  // JavaScript
    
            try {
                engine.eval("function migliaToChilometri(miglia) { return miglia / 0.62137; }");
                
                Number metri = (Number) engine.eval("migliaToChilometri(15) * 1000");
                System.out.println("15 miglia = " + metri + " metri");
            } catch (Exception e) {
                System.err.println(e);
            }
        }
    }

    Output:
    15 miglia = 24140.206318296667 metri
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    93
    Quote Originariamente inviata da andbin Visualizza il messaggio
    La documentazione ufficiale è da qui: https://docs.oracle.com/javase/8/docs/ vedi nel diagramma il blocco "Scripting" (non il primo, ma quello nella sezione Integration Libraries). Trovi sicuramente anche articoli in rete ecc...

    Ecco un piccolo esempio (Java 6+):

    codice:
    import javax.script.*;
    
    public class ProvaJavaScript {
        public static void main(String[] args) {
            ScriptEngineManager manager = new ScriptEngineManager();
            ScriptEngine engine = manager.getEngineByExtension("js");  // JavaScript
    
            try {
                engine.eval("function migliaToChilometri(miglia) { return miglia / 0.62137; }");
                
                Number metri = (Number) engine.eval("migliaToChilometri(15) * 1000");
                System.out.println("15 miglia = " + metri + " metri");
            } catch (Exception e) {
                System.err.println(e);
            }
        }
    }

    Output:
    15 miglia = 24140.206318296667 metri

    Quindi da quello che sto capendo engine.eval funge come una specie di parser?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da banino84 Visualizza il messaggio
    Quindi da quello che sto capendo engine.eval funge come una specie di parser?
    Sì, le varie versioni in overload di eval() valutano ed eseguono uno script (poi può essere da un String o da un Reader, anche da file). Ma ti ripeto che è molto di più ... non è solo un banale valutatore di espressioni matematiche. Qui si tratta di linguaggi di scripting, come JavaScript (non so se l'hai mai usato nello sviluppo di pagine web).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    93
    No mai utilizzato javascript ... cmq grazie mille .... per lo scopo che serve a me va più che bene cmq mi documentero meglio sulla javadoc

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.