And وOr وNot في Dart
جزء من قسم إضافة التفاعلية في رحلة Flutter على Coddy. الدرس 19 من 34.
غالبًا لا تكفي قيمة منطقية واحدة. يربطها Dart بثلاثة عوامل:
a && b(و): تكون النتيجة true فقط عندما تكون القيمتان truea || b(أو): تكون النتيجة true عندما تكون قيمة واحدة على الأقل true!a(ليس): يعكس true وfalse
bool _hasTicket = true;
bool _isLate = false;
_hasTicket && !_isLate // true: يمكنك الصعود
_hasTicket || _isLate // true: قيمة واحدة على الأقل هي trueالنتيجة قيمة منطقية، لذا يمكن وضعها قبل ? في تعبير شرطي، أو في if. تجعل الأقواس قراءتها أسهل:
Text((_hasTicket && !_isLate) ? 'Board now' : 'Wait')التحدي
سهللا يُفتح الباب إلا بالمفتاح والرمز. غيّر السطرين:
- يعرض الأول
The door is openعندما يكون المفتاح بحوزتك وتعرف الرمز، وإلا يعرضThe door is locked - يعرض الثاني
Getting closerعندما يكون المفتاح بحوزتك أو تعرف الرمز، وإلا يعرضFind the key and the code
جرّب بنفسك
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'),
),
],
),
),
);
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس إضافة التفاعلية
1الأزرار
زرّك الأولالطباعة في وحدة التحكمالأزرار النصية والمحددة بإطارأزرار الأيقوناتزر الإجراء العائم7مفاتيح التبديل وشرائح التمرير
التشغيل والإيقاف باستخدام مفتاححدّد مربع الاختياراختر قيمة باستخدام شريط التمرير5اتخاذ القرارات
bool والعامل ? :اتخاذ القرارات باستخدام if وelseAnd وOr وNot في Dartإظهار وإخفاء عنصر واجهةتعطيل زر بصريًاتدرّب بنفسك: مترجم Flutter عبر الإنترنت