Menu
CoddyTech

חיפוש ב־Map

חלק מהיחידה רשימות ומסכים במסלול ה-Flutter של Coddy. שיעור 17 מתוך 33.

ה-Map שומר זוגות: מפתח שמחפשים לפיו, והערך שמתאים לו, כמו מילה והמשמעות שלה במילון. כאן לכל פריט בחנות במשחק יש מחיר:

Map<String, int> prices = {
  'Sword': 120,
  'Potion': 25,
};

prices['Sword']   // 120
prices['Axe']     // null: אין Axe

Map<String, int> מציין שהמפתחות הם מחרוזות והערכים הם מספרים שלמים. מחפשים ערך לפי המפתח שלו בתוך סוגריים מרובעים. אם המפה לא מכילה מפתח, מתקבל null.

מוסיפים זוג באמצעות prices['Bow'] = 150;, או כותבים אותו בתוך המפה. prices.keys מכיל את כל המפתחות, לפי סדר ההוספה שלהם, ומוכן לשימוש עם for.

challenge icon

אתגר

קל

החנות מציגה את הפריטים שלה, אבל לא את המחירים. הציגו את המחירים והוסיפו למלאי פריט אחד נוסף:

  • הציגו את המחיר של כל פריט בסוף השורה שלו, למשל 120 coins, כפי שהוא מופיע ב־prices
  • הוסיפו למפה Bow תמורת 150 מטבעות

נסו בעצמכם

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    final Map<String, int> prices = {
      'Sword': 120,
      'Shield': 90,
      'Potion': 25,
    };
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(title: const Text('Shop')),
        body: ListView(
          children: [
            for (String item in prices.keys)
              ListTile(
                title: Text(item),
              ),
          ],
        ),
      ),
    );
  }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה רשימות ומסכים

תרגלו בעצמכם: קומפיילר Flutter אונליין