Menu
CoddyTech
flag Ar iconالعربيةdown icon

اتخاذ القرارات باستخدام if وelse

جزء من قسم إضافة التفاعلية في رحلة Flutter على Coddy. الدرس 18 من 34.

ينفّذ if التعليمات البرمجية فقط عندما يكون شيء ما صحيحًا. وينفّذ else تعليمات برمجية أخرى عندما لا يكون كذلك:

if (_count < 10) {
  _count++;
} else {
  print('Full');
}

ما يوضع بين القوسين هو مقارنة، وتكون نتيجتها قيمة منطقية: صحيحة أو خاطئة.

  • a == b: ‏a تساوي b (علامتا يساوي؛ تُستخدم إحداهما لإسناد قيمة إلى متغير)
  • a != b: ‏a لا تساوي b
  • a < b وa > b: أصغر من، أكبر من
  • a <= b وa >= b: أصغر من أو يساوي، أكبر من أو يساوي

انتبه إلى الحد: عند وجود 8 أكواب، تكون _glasses < 8 خاطئة، لكن _glasses <= 8 تظل صحيحة وتسمح بمرور كوب تاسع.

داخل الصنف State، يكون context متاحًا في كل دالة، وليس في build فقط، لذا يمكن لدالة ما عرض SnackBar أيضًا.

challenge icon

التحدي

سهل

تكفي ثمانية أكواب من الماء يوميًا. غيّر _drink بحيث يضيف كوبًا فقط ما دام عدد الأكواب أقل من 8. وإلا، فسيعرض SnackBar يقول That is enough for today.

جرّب بنفسك

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> {
  int _glasses = 0;

  void _drink() {
    setState(() {
      _glasses++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Water')),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Text('Glasses today: $_glasses', style: const TextStyle(fontSize: 24)),
            const SizedBox(height: 16),
            ElevatedButton(onPressed: _drink, child: const Text('Drink a glass')),
          ],
        ),
      ),
    );
  }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس إضافة التفاعلية

تدرّب بنفسك: مترجم Flutter عبر الإنترنت