Softanza
DémarrerEnglish
Softanza
Le livre · Chapitre 7 · La preuve de chaque chapitre

Déclarer le quoi, pas le comment

Ce chapitre a 5 cellules et écrit 11 promesses. Dans chacune de ses quatre éditions, ses cellules ont été exécutées dans un processus neuf le 2026-10-08 20:15 : English, 5 cellules exécutées, 11 promesses tenues; Français, 5 cellules exécutées, 11 promesses tenues; العربية, 5 cellules exécutées, 11 promesses tenues; Hausa, 5 cellules exécutées, 11 promesses tenues. Les quatre éditions font les mêmes promesses, cellule pour cellule. Aucune édition ne stocke de sortie.

Le garde

Le garde du cours est course_narrated.ring(s'ouvre dans un nouvel onglet) : il exécute chaque chapitre dans les quatre langues, compare les promesses d'une édition à l'autre, et fait prouver chaque exercice sur ses mauvaises et ses bonnes réponses. Cette page a posé les mêmes questions aux mêmes objets, dans un seul processus à l'intérieur de la bibliothèque, au commit 0e72e2e2c. Pour prouver ce chapitre seul, depuis votre copie du dépôt :

cd libraries/stzlib/base/test/education
# exécutez course_narrated avec le moteur d'exécution du dépôt, pour ce chapitre :
#   course_narrated declare-what-not-how

exécuté le 2026-10-08 20:15 dans la bibliothèque au commit 4a184e6f0, en 246.4 s pour tout le livre · Les quatre éditions du chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Le lecteur ne stocke aucune sortie, par la loi du cours ; cette page est le compte rendu d'une exécution, faite pour elle. Le code des cellules est celui de l'édition anglaise ; les titres viennent de l'édition française. Les quatre éditions font les mêmes promesses, cellule pour cellule. Le code est montré au nom de Haro : là où le chapitre a été écrit avant que la langue prenne son nom actuel, le nom a été changé et rien d'autre, et le chapitre a été exécuté de nouveau ainsi. Le lien vers la source mène au texte tel qu'il a été écrit.

Les cellules, exécutées

Cellule 1 · 1. Trouver où une condition est vraie

Softanza
o = new stzList([ 4, 7, 10, 3, 8 ])
? @@( o.FindW("{ @item > 5 }") )
#--> [ 2, 3, 5 ]
? @@( o.ItemsW("{ @item > 5 }") )
#--> [ 7, 10, 8 ]
? o.CountW("{ @item > 5 }")
#--> 3
Sortie de cette exécution
[ 2, 3, 5 ]
[ 7, 10, 8 ]
3

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 2 · 2. N'importe quelle question peut être la condition

Softanza
? @@( o.FindW("{ IsEven(@item) }") )
#--> [ 1, 3, 5 ]
? o.CheckW("{ isNumber(@item) }")
#--> TRUE
Sortie de cette exécution
[ 1, 3, 5 ]
1

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 3 · 3. Une règle est une donnée : gardez-la, appliquez-la partout

Softanza
cRule = "{ @item > 20 }"
oA = new stzList([ 12, 0, 30, -5, 18, 25 ])
oB = new stzList([ 3, 40, 9 ])
? oA.CountW(cRule)
#--> 2
? oB.CountW(cRule)
#--> 1
Sortie de cette exécution
2
1

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 4 · 4. Agir là où la règle est vraie

Softanza
? @@( oA.ItemsW(cRule) )
#--> [ 30, 25 ]
oA.RemoveW(cRule)
? @@( oA.Content() )
#--> [ 12, 0, -5, 18 ]
Sortie de cette exécution
[ 30, 25 ]
[ 12, 0, -5, 18 ]

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Cellule 5 · 5. Le même mot sur des mots

Softanza
oS = new stzList([ "haro", "PHP", "C#", "ruby", "GO" ])
? @@( oS.FindW("{ IsUppercase(@item) }") )
#--> [ 2, 3, 5 ]
? @@( oS.ItemsW("{ Q(@item).IsLowercase() }") )
#--> [ "haro", "ruby" ]
Sortie de cette exécution
[ 2, 3, 5 ]
[ "haro", "ruby" ]

exécutée : la promesse est tenue · dans les quatre éditions

Cette cellule dans le chapitre : English(s'ouvre dans un nouvel onglet) · Français(s'ouvre dans un nouvel onglet) · العربية(s'ouvre dans un nouvel onglet) · Hausa(s'ouvre dans un nouvel onglet)

Les exercices

Chaque exercice s'éprouve lui-même : ses mauvaises réponses sont refusées et ses bonnes acceptées.

ex-07-01 · Exercice 7.1 · Où sont les gros montants

2 mauvaises réponses refusées sur 2, 2 bonnes acceptées sur 2

01-gives-the-items.ring refusée · 02-wrong-boundary.ring refusée · 01-find-where.ring acceptée · 02-without-braces.ring acceptée

Le dossier de l'exercice(s'ouvre dans un nouvel onglet)

ex-07-02 · Exercice 7.2 · Une règle, deux journées

2 mauvaises réponses refusées sur 2, 2 bonnes acceptées sur 2

01-two-rules.ring refusée · 02-prints-the-rule.ring refusée · 01-one-rule-twice.ring acceptée · 02-count-the-items.ring acceptée

Le dossier de l'exercice(s'ouvre dans un nouvel onglet)