引数を使った関数
CoddyのFlutterジャーニー「アプリをインタラクティブにする」セクションの一部。レッスン 7/34。
関数は、呼び出すたびに値を受け取ることができます。その値はパラメーターで、型とともに括弧内に記述します。
void greet(String name) {
print('Hi, $name!');
}
greet('Ada'); // こんにちは、Ada!
greet('Linus'); // こんにちは、Linus!関数内では、nameは渡された値を保持する変数です。これで、1つの関数が多くの関数の役割を果たします。
ボタンだけでは値を渡せません。onPressed:が必要とするのは、パラメーターのない関数です。そこで、「最初のボタン」で学んだように、名前のない小さな関数で呼び出しを包みます。
ElevatedButton(
onPressed: () { greet('Ada'); },
child: Text('Ada'),
)チャレンジ
簡単orderTeaを、String drinkを受け取り、One Tea, please、One Coffee, please、またはOne Juice, pleaseを出力する関数orderに置き換えてください。3つすべてのボタンでこの関数を使ってください。
自分で試してみよう
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オンラインコンパイラ