Use APKPure App
Get Operator old version APK for Android
Ti piacciono Javascript, la programmazione funzionale e Android? Prova operatore!
Un semplice programma di transpiler Javascript per codificare in un linguaggio funzionale simile ad un altro famoso linguaggio di programmazione funzionale (che inizia con un H.)
Ogni traduzione può essere integrata nella tua pagina web tramite un singolo script javascript, purché tu abbia installato anche jqMath (http://mathscribe.com/author/jqmath.html) - con jQuery - e Javascript numerico (http: // www .numericjs.com).
Come H., operatore
* è funzionale
* è poco prolisso
* comprende la notazione infix dell'operazione binaria
A differenza di H., operatore
* non è pigro in sostanza ma è possibile implementare strutture infinite (liste, alberi ...)
* non è tipizzato
* non comprende le sezioni con operatori binari (devi (\ x-> x + 1) se vuoi (+1)) ma capisce le sezioni altrimenti
* non ha una distinzione tra maiuscole e minuscole
* non assume alcuna priorità per le operazioni binarie
* non considera "(semplice citazione) un simbolo sintattico valido
* è in una fase molto precoce
Per quanto riguarda la purezza, Operator lavora il più delle volte con variabili e strutture immutabili ma occasionalmente (dopo la parola chiave interact) è possibile modificare alcuni stati (ad esempio il contenuto di un documento HTML, vedere Demo).
INSERTO INCORPORATO PRIMITIVO:
Solo +, -, *, /,%, ==, <,>, sottostringa, lunghezza sono mantenuti letteralmente da javascript con lo stesso significato che hanno in javascript (+ è polimorfico per esempio). Sono ora considerati come funzioni di 2 argomenti (tranne lunghezza unaria e sottostringa ternaria).
Il metodo get è diventato il! funzione
Ad esempio: var val = obj ['black'] + xs [0]; diventa val = (obj! "black") + (xs! 0)
Un array javascript viene chiamato Elenco in operatore
Ad esempio: var xs = [1,2]; diventa xs = List () 1 2 ()
Un oggetto javascript è chiamato una mappa in operatore
Ad esempio: var obj = {'red': 0, 'black': 1}; diventa obj = Mappa () "rosso" 0 "nero" 1 ()
Questi sono progettati per essere immutabili e, come funzioni, sono validi:
beg = List () 1 2 3
next = beg 4 5
xs = next 6 ()
, l'ultimo () che indica la fine della struttura (il primo crea una nuova istanza). Sarebbe quindi sconsiderato definire ys = next 7 () per l'ordine (impredicibile) in cui xs e ys vengono elaborati influenzerebbe il risultato di xs! 5 (che potrebbe dare 6 o 7 di conseguenza). Definisci invece un nuovo Elenco immutabile: ys = List () 1 2 3 4 5 7 ()
Sono inoltre disponibili diverse utili funzioni di manipolazione dei documenti:
: =, :: =, newline, value, math, input, button, interact (vedi Demo)
Sono inoltre disponibili diverse utili funzioni generali:
hex2char, dec2hex, hex2dec
È possibile accedere agli altri componenti javascript tramite la parola chiave javascript (vedere di seguito).
E questo è tutto per i built-in primitivi!
EDIFICI ESTERI:
JAVASCRIPT straniero:
L'operatore conosce solo un set molto piccolo di parole chiave e operatori primitivi, ma è possibile accedere a tutte le funzioni javascript con la parola chiave javascript. Per esempio:
sqrt x = javascript (("Math.sqrt (" + x) + ")")
o meglio,
sqrt = javascript "var fun = function (x) {return Math.sqrt (x);}; fun"
o semplicemente
sqrt = javascript "Math.sqrt"
JQMATH straniero:
Se il risultato di un calcolo soddisfa il formato jqMath (http://mathscribe.com/author/jqmath.html), verrà visualizzato come una formula matematica. Per esempio
main = "$ 355/113 $"
visualizzerà una buona frazione sullo schermo e sulla tua pagina web se installi lo script (inviato dal menu "Invia javascript") e lo script jqMath.
NUMERICO JAVASCRIPT esterno:
Tutte le funzioni numericjs (http://www.numericjs.com) possono essere utilizzate. Per esempio
m = List () row1 row2 ()
row1 = List () 2 5 ()
row2 = List () 6 3 ()
determinante = javascript "numeric.det"
principale = determinante m
restituirà -24. Si noti che non esiste un collegamento (come in sqrt sopra) per le definizioni delle funzioni numeriche di 2 o più variabili. Ad esempio, con le prime quattro righe sopra e
principale = determinante (prodotto m m)
dovresti definire
product = javascript "var fun = function (x) {funzione return (y) {return numeric.dot (x, y);};}; fun"
per ottenere 576.
Last updated on Oct 25, 2019
Nothing new, really
Caricata da
Hamam Beeh
È necessario Android
Android 4.0+
Categoria
Segnala
Operator 0.1.7
0.1.7 by Jö
Oct 25, 2019