And, Or et Not dans Dart
Fait partie de la section Rendre l’application interactive du Journey Flutter de Coddy. Leçon 19 sur 34.
Souvent, un seul bool ne suffit pas. Dart les combine avec trois opérateurs :
a && b(et) : vrai uniquement lorsque les deux sont vraisa || b(ou) : vrai lorsqu’au moins un est vrai!a(non) : inverse vrai et faux
bool _hasTicket = true;
bool _isLate = false;
_hasTicket && !_isLate // true : vous pouvez monter à bord
_hasTicket || _isLate // true : au moins l’un des deux est vraiLe résultat est un bool ; il peut donc être placé avant le ? d’une expression conditionnelle ou dans un if. Les parenthèses facilitent la lecture :
Text((_hasTicket && !_isLate) ? 'Board now' : 'Wait')Défi
FacileLa porte ne s’ouvre qu’avec la clé et le code. Modifie les deux lignes :
- la première affiche
The door is openlorsque tu as la clé et connais le code, sinonThe door is locked - la deuxième affiche
Getting closerlorsque tu as la clé ou connais le code, sinonFind the key and the code
Essayez vous-même
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
bool _hasKey = false;
bool _knowsCode = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Door')),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const Text('The door is locked', style: TextStyle(fontSize: 24)),
const Text('Find the key and the code'),
const SizedBox(height: 16),
ElevatedButton(
onPressed: () {
setState(() {
_hasKey = true;
});
},
child: const Text('Take the key'),
),
ElevatedButton(
onPressed: () {
setState(() {
_knowsCode = true;
});
},
child: const Text('Learn the code'),
),
],
),
),
);
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Rendre l’application interactive
1Boutons
Votre premier boutonAfficher dans la consoleBoutons textuels et à contourBoutons avec icôneLe bouton d’action flottant7Interrupteurs et curseurs
Allumer et éteindre avec un interrupteurCocher une caseChoisir une valeur avec un curseur5Décisions
bool et l’opérateur ?: Prendre des décisions avec if et elseAnd, Or et Not dans DartAfficher et masquer un widgetGriser un boutonEntraînez-vous par vous-même : Compilateur Flutter en ligne