Cet article vous apporte une introduction à l'utilisation du validateur dans laravel (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
En fait, je ne sais pas comment écrire les premiers chapitres, car ils impliquent toujours des choses plus profondes, comme 可迭代对象
, 生成器
, 迭代器
et ainsi de suite Il sera peut-être préférable d'organiser ces choses après avoir terminé cette série. Maintenant, écrivez simplement partout où vous les organisez
function* name([param[, param[, ... param]]]) { statements }
Utilisez la fonction* comme identifiant de déclaration, indiquant qu'il s'agit de une fonction génératrice
name est le nom de la fonction
param est le nom du paramètre, il peut y avoir 255
instructions est le corps de la fonction
La fonction génératrice peut être suspendue pendant l'exécution et continuer l'exécution si nécessaire
La fonction génératrice renvoie un objet itérateur et ne sera pas exécutée immédiatement
La fonction génératrice peut utiliser return, mais il ne sera pas itérable après le retour
function* idMaker(begin=0){ while(true) yield begin++; } let maker=idMaker(0) console.log(maker.next().value) // 0 console.log(maker.next().value) // 1 console.log(maker.next().value) // 2 console.log(maker.next().value) // 3 ...
Explication :
L'appel de la fonction génératrice return est un itérateur, et un itérateur est un objet qui satisfait le protocole itérateur. En termes simples, l'objet itérateur doit avoir une fonction suivante. Cette fonction renvoie un objet, que nous appelons l'objet résultat de l'itération. Cet objet contient les deux attributs suivants :
id
function* idMaker(begin=0){ while(begin<3) yield begin++; } let maker=idMaker(0) console.log(maker.next()) // {value: 0, done: false} console.log(maker.next()) // {value: 1, done: false} console.log(maker.next()) // {value: 2, done: false} console.log(maker.next()) // {value: undefined, done: true}
function *createIterator() { let first = yield 1; let second = yield first + 2; // 4 + 2 // first =4 是next(4)将参数赋给上一条的 yield second + 3; // 5 + 3 } let iterator = createIterator(); console.log(iterator.next()); // "{ value: 1, done: false }" console.log(iterator.next(4)); // "{ value: 6, done: false }" console.log(iterator.next(5)); // "{ value: 8, done: false }" console.log(iterator.next()); // "{ value: undefined, done: true }"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!