Remarque: nous ne pouvons garantir l'exactitude du contenu. Veuillez noter que ceci est écrit dans le but de soulager l'anxiété psychologique des débutants MVEL qui se sentent seuls en raison du manque d'informations en japonais.
En termes simples, Java est un langage de script. Ce n'est pas JavaScript, c'est Script Java. J'ai osé le dire parce que c'est important.
Je pense que c'est un langage assez mineur, mais c'est en fait open source. Pour le moment, il semble que des problèmes soient régulièrement soulevés et qu'une maintenance soit également en cours.
greet = "Hello "; //Type de chaîne
name = "MVEL"; //Type de chaîne
return greet + name; //résultat:"Hello MVEL"
--Le délimiteur de ligne est un point-virgule (;) --Type dynamique, pas besoin de déclarer le type de données variable
MVEL a la propriété de renvoyer la dernière valeur évaluée comme valeur de retour. Donc, le retour peut être omis, mais je pense que c'est plus gentil de l'ajouter pour plus de lisibilité.
La plupart des opérateurs courants suivants peuvent être utilisés.
--Opérateurs de comparaison (== ,! =,>,> =, <, <=) --Opérateurs arithmétiques (+, -, \ *, /,%, + =, - =, * =, / =,% =) -Opérateur logique (&&、||)
D'autres incluent contient, est instanceof, ~ =.
//Déterminez si la chaîne de caractères contient "n"
"Bonjour" contains "Hmm" //Résultat: vrai
//Juger s'il s'agit d'une valeur numérique
value = "100" //Type de chaîne
value is instanceof Integer //Résultat: faux
//Juger s'il s'agit de caractères alphanumériques demi-largeur
"Hello" ~= '^[A-Za-z0-9]+$' //Résultat: vrai
opérateur | La description |
---|---|
contains | Vrai si la valeur du côté gauche contient la valeur du côté droit |
is instanceof | Vrai si le type de données de la variable sur le côté gauche est le type de données sur le côté droit |
˜= | Vrai si la valeur du côté gauche correspond à l'expression régulière du côté droit |
hoge == null;
hoge == nil; //Synonyme de null
Dans MVEL, null et nil sont traités comme des valeurs vides. Vous pouvez utiliser l'un ou l'autre, mais il peut être plus sûr d'utiliser null pour Java.
//Modifier les frais d'utilisation en fonction de l'âge
if (age >= 60) {
System.out.println("Taux d'actualisation senior: 1,200 yens");
}
else if (age >= 20) {
System.out.println("Frais généraux: 1,800 yens");
}
else {
System.out.println("Frais de réduction étudiants: 1,000 yens");
}
Lorsque l'expression conditionnelle est vraie, le traitement à l'intérieur de {} est exécuté. Si vous souhaitez définir plusieurs conditions, connectez-les avec else if ().
Bien qu'il s'agisse d'un petit détail, la déclaration else est écrite sur la ligne inférieure suivante avec un saut de ligne en fonction de la manière d'écrire le document officiel.
age >= 15 ? "Yes" : "No";
De cette manière, un branchement conditionnel avec l'opérateur ternaire est également possible.
Pour le traitement itératif, en plus de la syntaxe de boucle de base (for, while, until, do while, do until), vous pouvez utiliser foreach, qui est similaire à l'instruction for étendue ajoutée dans Java 1.5.
//Problème FizzBuzz
for (i = 0; i < 100; i++) {
if (i % 15 == 0) {
System.out.println("FizzBuzz");
}
else if (i % 3 == 0) {
System.out.println("Fizz");
}
else if (i % 5 == 0) {
System.out.println("Buzz");
}
}
Comme i ++, l'incrément peut être utilisé sans aucun problème.
//Extraire les éléments de la liste fruits un par un et les sortir sur la console
fruits = ["pomme", "Grain de raisin", "ananas"];
count = 0;
foreach (item : fruits) {
count++;
System.out.println(count + ". " + item);
}
Si vous souhaitez afficher l'index avec foreach, il semble que vous deviez préparer vous-même la variable pour l'index.
//Sortie d'une chaîne de caractères vers la console (lorsque la destination de sortie est le paramètre standard)
def hello() {
System.out.println("Hello, world"); //Résultat: Bonjour, world
}
//Calculez l'aire du triangle et renvoyez le message
function calcTriangleArea(bottom, height) {
area = bottom * height / 2; //Type int
message = "Le fond est" + bottom + "La hauteur est de cm" + height + "L'aire du triangle ㎝ est" + area + "C'est ㎠."; //Type de chaîne (la variable est automatiquement de type Int=>Convertir en type chaîne)
return message;
}
Vous pouvez utiliser def et function pour la définition de fonction de MVEL. Il n'y a pas de différence entre les deux, mais comme def est utilisé dans la documentation officielle, unissons-le à def.
En passant, quand j'ai vu la source MVEL pour la première fois, je l'ai mal interprétée comme Ruby.
Utilisez les bibliothèques Java pour gérer les dates dans MVEL. Il y a Date et Calendrier dans la bibliothèque de dates, mais cette fois, nous utiliserons Calendrier car nous voulons effectuer un traitement arithmétique de date et d'heure.
import java.util.Calendar; //Importer la classe de calendrier
//Créer une instance de calendrier
Calendar calendar = Calendar.getInstance();
today = calendar.getTime(); //Obtenez la date et l'heure actuelles
calendar.set(2020, 4, 23, 23, 59, 59); //Définir la date de fin de la vente (23 avril 2020 23:59:59)
endOfSaleDay = calendar.getTime();
if (today >= endOfSaleDay) {
System.out.println("20%La vente OFF est terminée.");
}
Ce qui précède est le processus pour déterminer si la vente à rabais est terminée. Étant donné que le paramètre de date de fin de vente est un changement destructeur, si vous obtenez ensuite getTime (), ce sera la date et l'heure actuelles à la date et à l'heure définies.
Qu'est-ce que MVELer en premier lieu! Je voudrais donc le définir comme la responsabilité de la déclaration. Cela dit, cela ressemble à PHPer pour les utilisateurs PHP et Rubyist pour les utilisateurs Ruby, mais à proprement parler, cela fait référence aux utilisateurs MVEL qui remplissent les conditions suivantes.
Les utilisateurs de MVEL qui peuvent répondre à ces exigences doivent être prêts à devenir ** MVELer ** et être fiers de s'appeler MVELer.
Recommended Posts