الدوال ذات المعاملات
جزء من قسم إضافة التفاعلية في رحلة Flutter على Coddy. الدرس 7 من 34.
يمكن للدالة أن تتلقى قيمة في كل مرة تستدعيها فيها. تُسمّى هذه القيمة مُعامِلًا، وتُكتب بين القوسين مع نوعها:
void greet(String name) {
print('Hi, $name!');
}
greet('Ada'); // مرحبًا، Ada!
greet('Linus'); // مرحبًا، Linus!داخل الدالة، يُعدّ name متغيّرًا يحتفظ بالقيمة التي مُرّرت إليه. وهكذا تنفّذ دالة واحدة الآن عمل دوال كثيرة.
لا يمكن للزر تمرير قيمة من تلقاء نفسه: يتطلب onPressed: دالة بلا مُعامِلات. لذا أَحِط الاستدعاء بدالة صغيرة بلا اسم، من النوع الذي تعرّفت إليه في زرّك الأول:
ElevatedButton(
onPressed: () { greet('Ada'); },
child: Text('Ada'),
)التحدي
سهلاستبدل orderTea بدالة واحدة هي order تأخذ String drink وتطبع One Tea, please أو One Coffee, please أو One Juice, please. اجعل الأزرار الثلاثة تستخدمها.
جرّب بنفسك
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
void orderTea() {
print('One Tea, please');
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ElevatedButton(onPressed: orderTea, child: Text('Tea')),
SizedBox(height: 12),
ElevatedButton(onPressed: () {}, child: Text('Coffee')),
SizedBox(height: 12),
ElevatedButton(onPressed: () {}, child: Text('Juice')),
],
),
),
),
);
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس إضافة التفاعلية
1الأزرار
زرّك الأولالطباعة في وحدة التحكمالأزرار النصية والمحددة بإطارأزرار الأيقوناتزر الإجراء العائم7مفاتيح التبديل وشرائح التمرير
التشغيل والإيقاف باستخدام مفتاححدّد مربع الاختياراختر قيمة باستخدام شريط التمريرتدرّب بنفسك: مترجم Flutter عبر الإنترنت