

Vous aimez JavaScript, la programmation fonctionnelle et Android? Essayez l'opérateur!
Un simple programme de transpiler JavaScript à coder dans un langage fonctionnel ressemblant à un autre langage de programmation fonctionnel célèbre (en commençant par un H.)
Chaque traduction peut être intégrée dans votre page Web via un seul script JavaScript, à condition que vous ayez également installé JQMATH (http://mathscribe.com/author/jqmath.html) - avec jQuery - et Numeric JavaScript (http://www.numericjscom).
Comme H., opérateur
* est fonctionnel
* est peu verbeux
* comprend la notation de l'infixe de l'opération binaire
Contrairement à H., opérateur
* n'est pas paresseux en substance mais des structures infinies (listes, arbres ...) peuvent être implémentées
* n'est pas typé
* ne comprend pas les sections avec des opérateurs binaires (vous devez ( x-> x + 1) si vous voulez (+1)) mais comprend les sections autrement
* n'a pas de distinction inférieure / supérieure
* n'assume aucune priorité pour les opérations binaires
* ne considère pas '(citation simple) comme un symbole syntaxique valide
* est à un stade très précoce
En ce qui concerne la pureté, l'opérateur fonctionne la plupart du temps avec des variables et des structures immuables, mais occasionnellement (après le mot-clé interagis), certains états peuvent être modifiés (contenu d'un document HTML par exemple, voir les démos).
INS PRIMIERS BUILKING:
Seulement +, -,, *, /,%, ==, <,>, la sous-chaîne, la longueur est conservée littéralement de JavaScript avec la même signification qu'ils ont en JavaScript (+ est polymorphe par exemple). Ils sont désormais considérés comme des fonctions de 2 arguments (sauf une longueur unaire et une sous-chaîne ternaire).
La méthode GET est devenue la! fonction
Par exemple: var val = obj ['noir'] + xs [0]; devient val = (obj! "noir") + (xs! 0)
Un tableau JavaScript est appelé une liste dans l'opérateur
EG: var xs = [1,2]; devient xs = list () 1 2 ()
Un objet JavaScript est appelé une carte dans l'opérateur
Par exemple: var obj = {'red': 0, 'noir': 1}; devient obj = map () "rouge" 0 "noir" 1 ()
Ceux-ci sont conçus pour être immuables et, en fonction, ce qui suit est valide:
Beg = list () 1 2 3
Suivant = Beg 4 5
xs = 6 () suivants
, le dernier () donnant la fin de la structure (le premier crée une nouvelle instance). Il serait alors imprudent de définir ys = 7 () suivant pour l'ordre (imprédiction) dans lequel les X et YS sont traités influenceraient le résultat de XS! 5 (qui pourrait donner 6 ou 7 en conséquence). Au lieu de cela, définissez une nouvelle liste immuable: ys = list () 1 2 3 4 5 7 ()
Plusieurs fonctions de manipulation de documents utiles sont également disponibles:
: =, :: =, newline, valeur, mathématiques, entrée, bouton, interagir (voir démos)
Plusieurs fonctions générales utiles sont également disponibles:
hex2char, dec2hex, hex2dec
Les autres composants JavaScript sont accessibles par le mot-clé JavaScript (voir ci-dessous).
Et c'est tous pour les intégrés primitifs!
Buillations étrangères:
Javascript étranger:
L'opérateur ne connaît qu'un très petit ensemble de mots clés primitifs et d'opérateurs, mais toutes les fonctions JavaScript sont accessibles avec le mot-clé JavaScript. Par exemple:
sqrt x = javascript (("math.sqrt (" + x) + ")")
Ou mieux,
sqrt = javascript "var fun = function (x) {return math.sqrt (x);}; fun"
ou tout simplement
sqrt = javascript "math.sqrt"
Jqmath étranger:
Si le résultat d'un calcul satisfait le format JQMATH (http://mathscribe.com/author/jqmath.html), il sera affiché sous forme de formule mathématique. Par exemple
main = "355 $ / 113 $"
Affichera une belle fraction à l'écran et sur votre page Web si vous installez le script (envoyé par le menu "Envoyer JavaScript") et le script JQMATH.
JavaScript numérique étranger:
Toutes les fonctions numériques (http://www.numericjs.com) peuvent être utilisées. Par exemple
m = list () row1 row2 ()
row1 = list () 2 5 ()
row2 = list () 6 3 ()
déterminant = javascript "Numeric.det"
Main = déterminant m
reviendra -24. Notez qu'il n'y a pas de raccourci (comme dans SQRT ci-dessus) pour les définitions des fonctions numériques de 2 variables ou plus. Par exemple, avec les quatre premières lignes ci-dessus et
Main = déterminant (produit mm)
tu devrais définir
Product = JavaScript "var fun = function (x) {return function (y) {return Numeric.dot (x, y);};}; fun"
Afin d'obtenir 576.
Obtenez des primogems gratuits, Mora, de l'expérience, et plus encore avec ces codes d'impact Genshin de novembre 2024, 5.1 codes en direct et découvrez comment échanger les codes actifs.
Si vous vous ennuyez de jouer à la version vanille de Metaphor Refantazio, vous pouvez consulter ces cinq mods.
Vous êtes aux prises avec vos soumissions pour l'événement Haunt de Roblox en 2024? Consultez notre guide sur l'utilisation de la robe pour impressionner pour créer vos captures!
Notre procédure pas à pas pour Dragon Age: The Veilguard avec quelques conseils et astuces pratiques, avec des guides pour les puzzles, les boss, les compagnons, l'équipement, la romance et plus encore!
Quelle faction devez-vous choisir à l'âge du dragon: le Veilguard?
Vous cherchez des ressources bonus dans Sea of Conquest: Pirate War? Nous vous avons couvert de ces codes pour les derniers cadeaux de mer.
Sur notre site Web, vous pouvez facilement télécharger la dernière version de Operator 0.1.7! Aucune inscription ni SMS requis !