פונקציות עם פרמטרים
חלק מהיחידה הוספת אינטראקטיביות במסלול ה-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')),
],
),
),
),
);
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה הוספת אינטראקטיביות
תרגלו בעצמכם: קומפיילר Flutter אונליין