{"id":3180,"date":"2025-10-18T19:14:46","date_gmt":"2025-10-18T10:14:46","guid":{"rendered":"https:\/\/www.blowfish.co.jp\/?p=3180"},"modified":"2025-10-18T19:14:46","modified_gmt":"2025-10-18T10:14:46","slug":"%e7%ac%ac4%e7%ab%a0-%e9%96%a2%e6%95%b0%e3%81%a8%e3%82%af%e3%83%ad%e3%83%bc%e3%82%b8%e3%83%a3","status":"publish","type":"post","link":"https:\/\/www.blowfish.co.jp\/?p=3180","title":{"rendered":"\u7b2c4\u7ae0 \u95a2\u6570\u3068\u30af\u30ed\u30fc\u30b8\u30e3"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u95a2\u6570\u306e\u8a73\u7d30\uff08\u540d\u524d\u4ed8\u304d\u5f15\u6570\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\uff09<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f4d\u7f6e\u5f15\u6570\uff08Positional Parameters\uff09<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u901a\u5e38\u306e\u4f4d\u7f6e\u5f15\u6570\nString greet(String name, int age) {\n  return '$name\u3055\u3093\u3001$age\u6b73\u3067\u3059\u306d';\n}\n\nvoid main() {\n  print(greet('\u592a\u90ce', 25));\n  \/\/ print(greet(25, '\u592a\u90ce'));  \/\/ \u30a8\u30e9\u30fc\uff1a\u9806\u5e8f\u304c\u91cd\u8981\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30aa\u30d7\u30b7\u30e7\u30f3\u4f4d\u7f6e\u5f15\u6570\uff08Optional Positional Parameters\uff09<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u89d2\u62ec\u5f27&#91;]\u3067\u56f2\u3080\u3068\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306a\u308b\nString createMessage(String text, &#91;String? prefix, String suffix = '\uff01']) {\n  var message = text;\n  if (prefix != null) {\n    message = '$prefix$message';\n  }\n  return message + suffix;\n}\n\nvoid main() {\n  print(createMessage('\u3053\u3093\u306b\u3061\u306f'));                    \/\/ \u3053\u3093\u306b\u3061\u306f\uff01\n  print(createMessage('\u3053\u3093\u306b\u3061\u306f', '\u304a\u5ba2\u69d8\u3001'));        \/\/ \u304a\u5ba2\u69d8\u3001\u3053\u3093\u306b\u3061\u306f\uff01\n  print(createMessage('\u3053\u3093\u306b\u3061\u306f', '\u304a\u5ba2\u69d8\u3001', '\u3002'));  \/\/ \u304a\u5ba2\u69d8\u3001\u3053\u3093\u306b\u3061\u306f\u3002\n  \n  \/\/ \u30b9\u30ad\u30c3\u30d7\u306f\u3067\u304d\u306a\u3044\n  \/\/ print(createMessage('\u3053\u3093\u306b\u3061\u306f', , '\u3002'));  \/\/ \u30a8\u30e9\u30fc\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u540d\u524d\u4ed8\u304d\u5f15\u6570\uff08Named Parameters\uff09<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u6ce2\u62ec\u5f27{}\u3067\u56f2\u3080\u3068\u540d\u524d\u4ed8\u304d\u5f15\u6570\u306b\u306a\u308b\nvoid registerUser({\n  required String email,\n  required String password,\n  String? nickname,\n  int age = 18,\n  bool isAdmin = false\n}) {\n  print('\u767b\u9332\u60c5\u5831:');\n  print('  Email: $email');\n  print('  Password: ${\"*\" * password.length}');\n  print('  Nickname: ${nickname ?? \"\u672a\u8a2d\u5b9a\"}');\n  print('  Age: $age');\n  print('  Admin: $isAdmin');\n}\n\nvoid main() {\n  \/\/ \u540d\u524d\u3092\u6307\u5b9a\u3057\u3066\u547c\u3073\u51fa\u3057\uff08\u9806\u5e8f\u306f\u81ea\u7531\uff09\n  registerUser(\n    email: 'test@example.com',\n    password: 'secret123'\n  );\n  \n  print('\\n---\\n');\n  \n  registerUser(\n    password: 'pass456',\n    email: 'user@example.com',\n    nickname: '\u592a\u90ce',\n    age: 25,\n    isAdmin: true\n  );\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u540d\u524d\u4ed8\u304d\u5f15\u6570\u3068\u4f4d\u7f6e\u5f15\u6570\u306e\u7d44\u307f\u5408\u308f\u305b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u4f4d\u7f6e\u5f15\u6570\u306e\u5f8c\u306b\u540d\u524d\u4ed8\u304d\u5f15\u6570\nvoid displayProduct(\n  String name,           \/\/ \u5fc5\u9808\u306e\u4f4d\u7f6e\u5f15\u6570\n  double price,          \/\/ \u5fc5\u9808\u306e\u4f4d\u7f6e\u5f15\u6570\n  {\n    String? description, \/\/ \u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u540d\u524d\u4ed8\u304d\u5f15\u6570\n    bool inStock = true, \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u4ed8\u304d\u540d\u524d\u4ed8\u304d\u5f15\u6570\n    required String category  \/\/ \u5fc5\u9808\u306e\u540d\u524d\u4ed8\u304d\u5f15\u6570\n  }\n) {\n  print('\u5546\u54c1: $name ($category)');\n  print('\u4fa1\u683c: \u00a5$price');\n  if (description != null) {\n    print('\u8aac\u660e: $description');\n  }\n  print('\u5728\u5eab: ${inStock ? \"\u3042\u308a\" : \"\u306a\u3057\"}');\n}\n\nvoid main() {\n  displayProduct(\n    '\u30ce\u30fc\u30c8PC',\n    120000,\n    category: '\u96fb\u5316\u88fd\u54c1',\n    description: '\u9ad8\u6027\u80fd\u306a\u30d3\u30b8\u30cd\u30b9\u5411\u3051\u30ce\u30fc\u30c8PC',\n    inStock: false\n  );\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3068\u3057\u3066\u5f0f\u3092\u4f7f\u7528<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import 'dart:math';\n\n\/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306b\u5f0f\u3092\u4f7f\u3048\u308b\nString createId({String prefix = 'ID', int? number}) {\n  number ??= Random().nextInt(10000);\n  return '$prefix-${number.toString().padLeft(4, '0')}';\n}\n\nvoid main() {\n  print(createId());                      \/\/ ID-1234 (\u30e9\u30f3\u30c0\u30e0)\n  print(createId(prefix: 'USER'));        \/\/ USER-5678 (\u30e9\u30f3\u30c0\u30e0)\n  print(createId(prefix: 'ORDER', number: 42));  \/\/ ORDER-0042\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9f\u8df5\u7684\u306a\u4f8b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class SearchOptions {\n  final String query;\n  final int maxResults;\n  final String sortBy;\n  final bool ascending;\n  \n  SearchOptions({\n    required this.query,\n    this.maxResults = 10,\n    this.sortBy = 'relevance',\n    this.ascending = false\n  });\n  \n  @override\n  String toString() {\n    return 'SearchOptions(query: $query, max: $maxResults, sort: $sortBy, asc: $ascending)';\n  }\n}\n\nList&lt;String&gt; search({\n  required String query,\n  int limit = 10,\n  String sortBy = 'relevance',\n  bool ascending = false,\n  List&lt;String&gt;? categories\n}) {\n  print('\u691c\u7d22\u5b9f\u884c: $query');\n  print('  \u5236\u9650: $limit\u4ef6');\n  print('  \u4e26\u3073\u9806: $sortBy (${ascending ? \"\u6607\u9806\" : \"\u964d\u9806\"})');\n  if (categories != null) {\n    print('  \u30ab\u30c6\u30b4\u30ea: ${categories.join(\", \")}');\n  }\n  \n  \/\/ \u5b9f\u969b\u306e\u691c\u7d22\u51e6\u7406\u306f\u3053\u3053\u306b\u5b9f\u88c5\n  return &#91;'\u7d50\u679c1', '\u7d50\u679c2', '\u7d50\u679c3'];\n}\n\nvoid main() {\n  var results = search(\n    query: 'Dart',\n    limit: 20,\n    categories: &#91;'\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0', '\u6280\u8853']\n  );\n  \n  print('\\n\u7d50\u679c: ${results.length}\u4ef6');\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u9ad8\u968e\u95a2\u6570<\/h2>\n\n\n\n<p>\u9ad8\u968e\u95a2\u6570\u3068\u306f\u3001\u95a2\u6570\u3092\u5f15\u6570\u3068\u3057\u3066\u53d7\u3051\u53d6\u308b\u3001\u307e\u305f\u306f\u95a2\u6570\u3092\u623b\u308a\u5024\u3068\u3057\u3066\u8fd4\u3059\u95a2\u6570\u306e\u3053\u3068\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u95a2\u6570\u3092\u5f15\u6570\u3068\u3057\u3066\u53d7\u3051\u53d6\u308b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u9ad8\u968e\u95a2\u6570\u306e\u5b9a\u7fa9\nvoid executeOperation(int a, int b, int Function(int, int) operation) {\n  var result = operation(a, b);\n  print('\u7d50\u679c: $result');\n}\n\n\/\/ \u69d8\u3005\u306a\u6f14\u7b97\u95a2\u6570\nint add(int x, int y) =&gt; x + y;\nint multiply(int x, int y) =&gt; x * y;\nint subtract(int x, int y) =&gt; x - y;\n\nvoid main() {\n  print('=== \u95a2\u6570\u3092\u5f15\u6570\u3068\u3057\u3066\u6e21\u3059 ===');\n  executeOperation(10, 5, add);       \/\/ \u7d50\u679c: 15\n  executeOperation(10, 5, multiply);  \/\/ \u7d50\u679c: 50\n  executeOperation(10, 5, subtract);  \/\/ \u7d50\u679c: 5\n  \n  \/\/ \u7121\u540d\u95a2\u6570\u3092\u76f4\u63a5\u6e21\u3059\n  executeOperation(10, 5, (x, y) =&gt; x ~\/ y);  \/\/ \u7d50\u679c: 2\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u95a2\u6570\u3092\u8fd4\u3059\u95a2\u6570<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u95a2\u6570\u3092\u8fd4\u3059\u95a2\u6570\nFunction makeMultiplier(int factor) {\n  return (int value) =&gt; value * factor;\n}\n\n\/\/ \u3088\u308a\u578b\u5b89\u5168\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\nint Function(int) createAdder(int addend) {\n  return (int value) =&gt; value + addend;\n}\n\nvoid main() {\n  print('\\n=== \u95a2\u6570\u3092\u8fd4\u3059 ===');\n  \n  var double = makeMultiplier(2);\n  var triple = makeMultiplier(3);\n  \n  print('double(5) = ${double(5)}');  \/\/ 10\n  print('triple(5) = ${triple(5)}');  \/\/ 15\n  \n  var add10 = createAdder(10);\n  var add100 = createAdder(100);\n  \n  print('add10(5) = ${add10(5)}');    \/\/ 15\n  print('add100(5) = ${add100(5)}');  \/\/ 105\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u64cd\u4f5c\u3067\u306e\u9ad8\u968e\u95a2\u6570<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var numbers = &#91;1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n  \n  \/\/ map - \u5909\u63db\n  var squared = numbers.map((n) =&gt; n * n);\n  print('2\u4e57: ${squared.toList()}');\n  \n  \/\/ where - \u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\n  var evens = numbers.where((n) =&gt; n % 2 == 0);\n  print('\u5076\u6570: ${evens.toList()}');\n  \n  \/\/ reduce - \u7d2f\u7a4d\n  var sum = numbers.reduce((a, b) =&gt; a + b);\n  print('\u5408\u8a08: $sum');\n  \n  \/\/ fold - \u521d\u671f\u5024\u4ed8\u304d\u7d2f\u7a4d\n  var product = numbers.fold(1, (prev, element) =&gt; prev * element);\n  print('\u7a4d: $product');\n  \n  \/\/ every - \u3059\u3079\u3066\u304c\u6761\u4ef6\u3092\u6e80\u305f\u3059\u304b\n  var allPositive = numbers.every((n) =&gt; n &gt; 0);\n  print('\u3059\u3079\u3066\u6b63\u6570: $allPositive');\n  \n  \/\/ any - \u3044\u305a\u308c\u304b\u304c\u6761\u4ef6\u3092\u6e80\u305f\u3059\u304b\n  var hasLarge = numbers.any((n) =&gt; n &gt; 8);\n  print('8\u3088\u308a\u5927\u304d\u3044\u6570\u304c\u3042\u308b: $hasLarge');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ab\u30b9\u30bf\u30e0\u9ad8\u968e\u95a2\u6570\u306e\u5b9f\u88c5<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u30ea\u30c8\u30e9\u30a4\u6a5f\u80fd\u3092\u6301\u3064\u9ad8\u968e\u95a2\u6570\nT retry&lt;T&gt;(T Function() operation, {int maxAttempts = 3}) {\n  for (var attempt = 1; attempt &lt;= maxAttempts; attempt++) {\n    try {\n      print('\u8a66\u884c $attempt\/$maxAttempts');\n      return operation();\n    } catch (e) {\n      if (attempt == maxAttempts) {\n        print('\u3059\u3079\u3066\u306e\u8a66\u884c\u304c\u5931\u6557\u3057\u307e\u3057\u305f');\n        rethrow;\n      }\n      print('\u30a8\u30e9\u30fc: $e - \u518d\u8a66\u884c\u3057\u307e\u3059...');\n    }\n  }\n  throw Exception('\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc');\n}\n\n\/\/ \u6642\u9593\u8a08\u6e2c\u3092\u884c\u3046\u9ad8\u968e\u95a2\u6570\nT measureTime&lt;T&gt;(T Function() operation, String label) {\n  var stopwatch = Stopwatch()..start();\n  var result = operation();\n  stopwatch.stop();\n  print('$label: ${stopwatch.elapsedMilliseconds}ms');\n  return result;\n}\n\n\/\/ \u6761\u4ef6\u4ed8\u304d\u5b9f\u884c\nvoid runIf(bool condition, void Function() action) {\n  if (condition) {\n    action();\n  }\n}\n\nvoid main() {\n  print('=== \u30ab\u30b9\u30bf\u30e0\u9ad8\u968e\u95a2\u6570 ===\\n');\n  \n  \/\/ \u30ea\u30c8\u30e9\u30a4\u306e\u4f8b\n  var result = retry(() {\n    \/\/ \u30e9\u30f3\u30c0\u30e0\u306b\u6210\u529f\/\u5931\u6557\n    if (DateTime.now().millisecond % 3 == 0) {\n      return 'Success!';\n    }\n    throw Exception('Failed');\n  });\n  print('\u7d50\u679c: $result\\n');\n  \n  \/\/ \u6642\u9593\u8a08\u6e2c\u306e\u4f8b\n  measureTime(() {\n    var sum = 0;\n    for (var i = 0; i &lt; 1000000; i++) {\n      sum += i;\n    }\n    return sum;\n  }, '100\u4e07\u56de\u306e\u52a0\u7b97');\n  \n  \/\/ \u6761\u4ef6\u4ed8\u304d\u5b9f\u884c\n  var isDebug = true;\n  runIf(isDebug, () {\n    print('\u30c7\u30d0\u30c3\u30b0\u30e2\u30fc\u30c9\u3067\u5b9f\u884c\u4e2d');\n  });\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u95a2\u6570\u306e\u5408\u6210<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u95a2\u6570\u3092\u5408\u6210\u3059\u308b\u9ad8\u968e\u95a2\u6570\nFunction compose(Function f, Function g) {\n  return (x) =&gt; f(g(x));\n}\n\n\/\/ \u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u51e6\u7406\nT pipe&lt;T&gt;(T value, List&lt;T Function(T)&gt; functions) {\n  var result = value;\n  for (var func in functions) {\n    result = func(result);\n  }\n  return result;\n}\n\nvoid main() {\n  print('\\n=== \u95a2\u6570\u306e\u5408\u6210 ===');\n  \n  \/\/ \u500b\u5225\u306e\u95a2\u6570\n  int addTwo(int x) =&gt; x + 2;\n  int multiplyByThree(int x) =&gt; x * 3;\n  int square(int x) =&gt; x * x;\n  \n  \/\/ \u95a2\u6570\u3092\u5408\u6210\n  var addThenMultiply = compose(multiplyByThree, addTwo);\n  print('(5 + 2) \u00d7 3 = ${addThenMultiply(5)}');  \/\/ 21\n  \n  \/\/ \u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\n  var result = pipe(5, &#91;\n    addTwo,           \/\/ 5 + 2 = 7\n    multiplyByThree,  \/\/ 7 \u00d7 3 = 21\n    square            \/\/ 21\u00b2 = 441\n  ]);\n  print('\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u7d50\u679c: $result');\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u7121\u540d\u95a2\u6570\u3068\u30e9\u30e0\u30c0\u5f0f<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u7121\u540d\u95a2\u6570\u306e\u57fa\u672c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ \u901a\u5e38\u306e\u95a2\u6570\u5b9a\u7fa9\n  int add1(int a, int b) {\n    return a + b;\n  }\n  \n  \/\/ \u7121\u540d\u95a2\u6570\u3092\u5909\u6570\u306b\u4ee3\u5165\n  var add2 = (int a, int b) {\n    return a + b;\n  };\n  \n  \/\/ \u30e9\u30e0\u30c0\u5f0f\uff08\u30a2\u30ed\u30fc\u95a2\u6570\uff09\n  var add3 = (int a, int b) =&gt; a + b;\n  \n  print('add1(3, 5) = ${add1(3, 5)}');\n  print('add2(3, 5) = ${add2(3, 5)}');\n  print('add3(3, 5) = ${add3(3, 5)}');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u69d8\u3005\u306a\u5f62\u5f0f\u306e\u7121\u540d\u95a2\u6570<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ \u5f15\u6570\u306a\u3057\n  var greet = () =&gt; print('\u3053\u3093\u306b\u3061\u306f\uff01');\n  greet();\n  \n  \/\/ 1\u3064\u306e\u5f15\u6570\n  var double = (int n) =&gt; n * 2;\n  print('double(5) = ${double(5)}');\n  \n  \/\/ \u8907\u6570\u306e\u5f15\u6570\n  var divide = (int a, int b) =&gt; a \/ b;\n  print('10 \/ 3 = ${divide(10, 3)}');\n  \n  \/\/ \u8907\u6570\u884c\u306e\u30dc\u30c7\u30a3\n  var calculate = (int a, int b) {\n    var sum = a + b;\n    var product = a * b;\n    print('\u548c: $sum, \u7a4d: $product');\n    return sum + product;\n  };\n  var result = calculate(5, 3);\n  print('\u7d50\u679c: $result');\n  \n  \/\/ \u578b\u63a8\u8ad6\u3092\u5229\u7528\n  var multiply = (a, b) =&gt; a * b;  \/\/ \u578b\u304c\u63a8\u8ad6\u3055\u308c\u308b\n  print('5 \u00d7 3 = ${multiply(5, 3)}');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u7121\u540d\u95a2\u6570\u306e\u5b9f\u8df5\u7684\u306a\u4f7f\u7528\u4f8b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var numbers = &#91;1, 2, 3, 4, 5];\n  \n  \/\/ \u30ea\u30b9\u30c8\u64cd\u4f5c\u3067\u7121\u540d\u95a2\u6570\u3092\u4f7f\u7528\n  print('=== \u30ea\u30b9\u30c8\u64cd\u4f5c ===');\n  \n  \/\/ map\n  var doubled = numbers.map((n) =&gt; n * 2).toList();\n  print('2\u500d: $doubled');\n  \n  \/\/ where\n  var evens = numbers.where((n) =&gt; n % 2 == 0).toList();\n  print('\u5076\u6570: $evens');\n  \n  \/\/ forEach\n  numbers.forEach((n) =&gt; print('\u5024: $n'));\n  \n  \/\/ sort\uff08\u8907\u96d1\u306a\u6bd4\u8f03\uff09\n  var words = &#91;'banana', 'apple', 'cherry', 'date'];\n  words.sort((a, b) =&gt; a.length.compareTo(b.length));\n  print('\u9577\u3055\u9806: $words');\n  \n  \/\/ reduce\n  var sum = numbers.reduce((a, b) =&gt; a + b);\n  print('\u5408\u8a08: $sum');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u3068\u3057\u3066\u306e\u7121\u540d\u95a2\u6570<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class Button {\n  String label;\n  void Function()? onPressed;\n  \n  Button(this.label);\n  \n  void press() {\n    print('&#91;$label]\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u307e\u3057\u305f');\n    onPressed?.call();\n  }\n}\n\nvoid main() {\n  print('\\n=== \u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9 ===');\n  \n  var saveButton = Button('\u4fdd\u5b58');\n  saveButton.onPressed = () {\n    print('\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3057\u3066\u3044\u307e\u3059...');\n    print('\u4fdd\u5b58\u5b8c\u4e86\uff01');\n  };\n  \n  var cancelButton = Button('\u30ad\u30e3\u30f3\u30bb\u30eb');\n  cancelButton.onPressed = () =&gt; print('\u64cd\u4f5c\u304c\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u307e\u3057\u305f');\n  \n  saveButton.press();\n  print('');\n  cancelButton.press();\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u30d1\u30bf\u30fc\u30f3<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u975e\u540c\u671f\u51e6\u7406\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\nvoid fetchData(\n  void Function(String data) onSuccess,\n  void Function(String error) onError\n) {\n  print('\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u4e2d...');\n  \n  \/\/ \u51e6\u7406\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\n  var success = DateTime.now().second % 2 == 0;\n  \n  Future.delayed(Duration(seconds: 1), () {\n    if (success) {\n      onSuccess('{\"name\": \"\u592a\u90ce\", \"age\": 25}');\n    } else {\n      onError('\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30e9\u30fc');\n    }\n  });\n}\n\nvoid main() {\n  print('\\n=== \u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u30d1\u30bf\u30fc\u30f3 ===');\n  \n  fetchData(\n    (data) {\n      print('\u6210\u529f: $data');\n    },\n    (error) {\n      print('\u30a8\u30e9\u30fc: $error');\n    }\n  );\n  \n  \/\/ \u30e1\u30a4\u30f3\u30b9\u30ec\u30c3\u30c9\u306f\u7d9a\u884c\n  print('\u51e6\u7406\u3092\u7d99\u7d9a\u4e2d...');\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u30af\u30ed\u30fc\u30b8\u30e3\u3068\u30b9\u30b3\u30fc\u30d7<\/h2>\n\n\n\n<p>\u30af\u30ed\u30fc\u30b8\u30e3\u3068\u306f\u3001\u5916\u5074\u306e\u30b9\u30b3\u30fc\u30d7\u306e\u5909\u6570\u3092\u300c\u30ad\u30e3\u30d7\u30c1\u30e3\u300d\u3057\u3066\u4fdd\u6301\u3067\u304d\u308b\u95a2\u6570\u306e\u3053\u3068\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u57fa\u672c\u7684\u306a\u30af\u30ed\u30fc\u30b8\u30e3<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Function makeCounter() {\n  var count = 0;  \/\/ \u3053\u306e\u5909\u6570\u306f\u30af\u30ed\u30fc\u30b8\u30e3\u306b\u3088\u3063\u3066\u30ad\u30e3\u30d7\u30c1\u30e3\u3055\u308c\u308b\n  \n  return () {\n    count++;\n    return count;\n  };\n}\n\nvoid main() {\n  print('=== \u57fa\u672c\u7684\u306a\u30af\u30ed\u30fc\u30b8\u30e3 ===');\n  \n  var counter1 = makeCounter();\n  var counter2 = makeCounter();\n  \n  print('counter1: ${counter1()}');  \/\/ 1\n  print('counter1: ${counter1()}');  \/\/ 2\n  print('counter1: ${counter1()}');  \/\/ 3\n  \n  print('counter2: ${counter2()}');  \/\/ 1\n  print('counter2: ${counter2()}');  \/\/ 2\n  \n  \/\/ \u5404\u30ab\u30a6\u30f3\u30bf\u30fc\u306f\u72ec\u7acb\u3057\u305f\u72b6\u614b\u3092\u4fdd\u6301\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u3088\u308a\u5b9f\u7528\u7684\u306a\u30af\u30ed\u30fc\u30b8\u30e3\u306e\u4f8b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class BankAccount {\n  String _accountNumber;\n  double _balance;\n  \n  BankAccount(this._accountNumber, this._balance);\n  \n  \/\/ \u30af\u30ed\u30fc\u30b8\u30e3\u3092\u8fd4\u3059\u30e1\u30bd\u30c3\u30c9\n  Function get deposit {\n    return (double amount) {\n      if (amount &gt; 0) {\n        _balance += amount;\n        print('\u00a5$amount \u3092\u5165\u91d1\u3057\u307e\u3057\u305f\u3002\u6b8b\u9ad8: \u00a5$_balance');\n      }\n    };\n  }\n  \n  Function get withdraw {\n    return (double amount) {\n      if (amount &gt; 0 &amp;&amp; amount &lt;= _balance) {\n        _balance -= amount;\n        print('\u00a5$amount \u3092\u51fa\u91d1\u3057\u307e\u3057\u305f\u3002\u6b8b\u9ad8: \u00a5$_balance');\n      } else {\n        print('\u51fa\u91d1\u3067\u304d\u307e\u305b\u3093');\n      }\n    };\n  }\n  \n  double get balance =&gt; _balance;\n}\n\nvoid main() {\n  print('\\n=== \u9280\u884c\u53e3\u5ea7\u306e\u4f8b ===');\n  \n  var account = BankAccount('12345', 10000);\n  \n  var depositMoney = account.deposit;\n  var withdrawMoney = account.withdraw;\n  \n  depositMoney(5000);\n  withdrawMoney(3000);\n  withdrawMoney(20000);  \/\/ \u6b8b\u9ad8\u4e0d\u8db3\n  \n  print('\u6700\u7d42\u6b8b\u9ad8: \u00a5${account.balance}');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30af\u30ed\u30fc\u30b8\u30e3\u306b\u3088\u308b\u60c5\u5831\u306e\u96a0\u853d<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Map&lt;String, Function&gt; createUser(String name, String email) {\n  \/\/ \u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306a\u5909\u6570\uff08\u5916\u90e8\u304b\u3089\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\uff09\n  var _password = '';\n  var _loginCount = 0;\n  \n  return {\n    'getName': () =&gt; name,\n    'getEmail': () =&gt; email,\n    'setPassword': (String newPassword) {\n      if (newPassword.length &gt;= 8) {\n        _password = newPassword;\n        print('\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u8a2d\u5b9a\u3057\u307e\u3057\u305f');\n      } else {\n        print('\u30d1\u30b9\u30ef\u30fc\u30c9\u306f8\u6587\u5b57\u4ee5\u4e0a\u5fc5\u8981\u3067\u3059');\n      }\n    },\n    'login': (String password) {\n      if (_password.isEmpty) {\n        print('\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093');\n        return false;\n      }\n      if (_password == password) {\n        _loginCount++;\n        print('\u30ed\u30b0\u30a4\u30f3\u6210\u529f (${_loginCount}\u56de\u76ee)');\n        return true;\n      } else {\n        print('\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u9055\u3044\u307e\u3059');\n        return false;\n      }\n    },\n    'getLoginCount': () =&gt; _loginCount\n  };\n}\n\nvoid main() {\n  print('\\n=== \u60c5\u5831\u306e\u96a0\u853d ===');\n  \n  var user = createUser('\u592a\u90ce', 'taro@example.com');\n  \n  print('\u540d\u524d: ${user&#91;'getName']!()}');\n  print('Email: ${user&#91;'getEmail']!()}');\n  \n  user&#91;'setPassword']!('short');      \/\/ \u77ed\u3059\u304e\u308b\n  user&#91;'setPassword']!('password123'); \/\/ OK\n  \n  user&#91;'login']!('wrongpass');        \/\/ \u5931\u6557\n  user&#91;'login']!('password123');      \/\/ \u6210\u529f\n  user&#91;'login']!('password123');      \/\/ \u6210\u529f\n  \n  print('\u30ed\u30b0\u30a4\u30f3\u56de\u6570: ${user&#91;'getLoginCount']!()}');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b9\u30b3\u30fc\u30d7\u30c1\u30a7\u30fc\u30f3<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>var globalVar = '\u30b0\u30ed\u30fc\u30d0\u30eb';\n\nvoid demonstrateScope() {\n  var outerVar = '\u5916\u5074';\n  \n  void innerFunction() {\n    var innerVar = '\u5185\u5074';\n    \n    print('innerVar: $innerVar');\n    print('outerVar: $outerVar');    \/\/ \u5916\u5074\u306e\u30b9\u30b3\u30fc\u30d7\u306b\u30a2\u30af\u30bb\u30b9\n    print('globalVar: $globalVar');   \/\/ \u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30b3\u30fc\u30d7\u306b\u30a2\u30af\u30bb\u30b9\n  }\n  \n  innerFunction();\n  \/\/ print(innerVar);  \/\/ \u30a8\u30e9\u30fc\uff1ainnerVar\u306finnerFunction\u306e\u30b9\u30b3\u30fc\u30d7\u5185\u306e\u307f\n}\n\nvoid main() {\n  print('\\n=== \u30b9\u30b3\u30fc\u30d7\u30c1\u30a7\u30fc\u30f3 ===');\n  demonstrateScope();\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ec\u30ad\u30b7\u30ab\u30eb\u30b9\u30b3\u30fc\u30d7<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>var message = '\u5916\u5074\u306e\u30e1\u30c3\u30bb\u30fc\u30b8';\n\nFunction createFunction() {\n  var message = '\u95a2\u6570\u5185\u306e\u30e1\u30c3\u30bb\u30fc\u30b8';\n  \n  return () {\n    print(message);  \/\/ \u5b9a\u7fa9\u6642\u306e\u30b9\u30b3\u30fc\u30d7\u306emessage\u3092\u53c2\u7167\n  };\n}\n\nvoid main() {\n  print('\\n=== \u30ec\u30ad\u30b7\u30ab\u30eb\u30b9\u30b3\u30fc\u30d7 ===');\n  \n  var func = createFunction();\n  func();  \/\/ '\u95a2\u6570\u5185\u306e\u30e1\u30c3\u30bb\u30fc\u30b8'\u304c\u51fa\u529b\u3055\u308c\u308b\n  \n  \/\/ func\u306f\u5b9a\u7fa9\u3055\u308c\u305f\u5834\u6240\u306emessage\u3092\u8a18\u61b6\u3057\u3066\u3044\u308b\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30af\u30ed\u30fc\u30b8\u30e3\u3092\u4f7f\u3063\u305f\u5b9f\u88c5\u30d1\u30bf\u30fc\u30f3<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u30e1\u30e2\u5316\uff08\u30ad\u30e3\u30c3\u30b7\u30f3\u30b0\uff09\nFunction memoize(int Function(int) func) {\n  var cache = &lt;int, int&gt;{};\n  \n  return (int n) {\n    if (cache.containsKey(n)) {\n      print('\u30ad\u30e3\u30c3\u30b7\u30e5\u304b\u3089\u53d6\u5f97: $n');\n      return cache&#91;n]!;\n    }\n    print('\u8a08\u7b97\u4e2d: $n');\n    var result = func(n);\n    cache&#91;n] = result;\n    return result;\n  };\n}\n\n\/\/ \u30d5\u30a3\u30dc\u30ca\u30c3\u30c1\u6570\uff08\u9045\u3044\u5b9f\u88c5\uff09\nint fibonacci(int n) {\n  if (n &lt;= 1) return n;\n  return fibonacci(n - 1) + fibonacci(n - 2);\n}\n\n\/\/ \u30c7\u30d0\u30a6\u30f3\u30b9\u95a2\u6570\nFunction debounce(Function func, Duration delay) {\n  Timer? timer;\n  \n  return (&#91;args]) {\n    timer?.cancel();\n    timer = Timer(delay, () {\n      Function.apply(func, args ?? &#91;]);\n    });\n  };\n}\n\nvoid main() async {\n  print('\\n=== \u30e1\u30e2\u5316 ===');\n  var memoizedFib = memoize(fibonacci);\n  \n  print('fib(10) = ${memoizedFib(10)}');\n  print('fib(10) = ${memoizedFib(10)}');  \/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u304b\u3089\n  print('fib(5) = ${memoizedFib(5)}');    \/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u304b\u3089\n  \n  print('\\n=== \u30c7\u30d0\u30a6\u30f3\u30b9 ===');\n  var searchFunction = debounce(() {\n    print('\u691c\u7d22\u3092\u5b9f\u884c: ${DateTime.now()}');\n  }, Duration(milliseconds: 500));\n  \n  \/\/ \u9023\u7d9a\u3057\u3066\u547c\u3073\u51fa\u3059\n  searchFunction();\n  searchFunction();\n  searchFunction();\n  \/\/ \u6700\u5f8c\u306e\u547c\u3073\u51fa\u3057\u304b\u3089500ms\u5f8c\u306b1\u56de\u3060\u3051\u5b9f\u884c\u3055\u308c\u308b\n  \n  await Future.delayed(Duration(seconds: 1));\n}\n\nimport 'dart:async';\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5<\/h2>\n\n\n\n<p>\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\uff08..\uff09\u3092\u4f7f\u3046\u3068\u3001\u540c\u3058\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u5bfe\u3057\u3066\u8907\u6570\u306e\u64cd\u4f5c\u3092\u9023\u7d9a\u3057\u3066\u884c\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u306e\u57fa\u672c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class Person {\n  String? name;\n  int? age;\n  String? address;\n  \n  void introduce() {\n    print('\u3053\u3093\u306b\u3061\u306f\u3001$name\u3067\u3059\u3002$age\u6b73\u3001$address\u5728\u4f4f\u3067\u3059\u3002');\n  }\n  \n  void celebrateBirthday() {\n    age = (age ?? 0) + 1;\n    print('\u8a95\u751f\u65e5\u304a\u3081\u3067\u3068\u3046\uff01$age\u6b73\u306b\u306a\u308a\u307e\u3057\u305f\u3002');\n  }\n}\n\nvoid main() {\n  print('=== \u901a\u5e38\u306e\u65b9\u6cd5 ===');\n  var person1 = Person();\n  person1.name = '\u592a\u90ce';\n  person1.age = 25;\n  person1.address = '\u6771\u4eac';\n  person1.introduce();\n  \n  print('\\n=== \u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5 ===');\n  var person2 = Person()\n    ..name = '\u82b1\u5b50'\n    ..age = 23\n    ..address = '\u5927\u962a'\n    ..introduce();\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ea\u30b9\u30c8\u3067\u306e\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  print('\\n=== \u30ea\u30b9\u30c8\u3067\u306e\u4f7f\u7528 ===');\n  \n  \/\/ \u901a\u5e38\u306e\u65b9\u6cd5\n  var list1 = &lt;int&gt;&#91;];\n  list1.add(1);\n  list1.add(2);\n  list1.add(3);\n  list1.sort();\n  print('list1: $list1');\n  \n  \/\/ \u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\n  var list2 = &lt;int&gt;&#91;]\n    ..add(3)\n    ..add(1)\n    ..add(2)\n    ..sort();\n  print('list2: $list2');\n  \n  \/\/ \u3088\u308a\u8907\u96d1\u306a\u4f8b\n  var numbers = &lt;int&gt;&#91;]\n    ..addAll(&#91;5, 2, 8, 1, 9])\n    ..sort()\n    ..removeAt(0)\n    ..add(10);\n  print('numbers: $numbers');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">null\u8a31\u5bb9\u30ab\u30b9\u30b1\u30fc\u30c9\uff08?..\uff09<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class Config {\n  String? theme;\n  int? fontSize;\n  bool? darkMode;\n  \n  void apply() {\n    print('\u8a2d\u5b9a\u3092\u9069\u7528: theme=$theme, fontSize=$fontSize, darkMode=$darkMode');\n  }\n}\n\nvoid main() {\n  print('\\n=== Null\u8a31\u5bb9\u30ab\u30b9\u30b1\u30fc\u30c9 ===');\n  \n  Config? config1 = Config();\n  config1\n    ..theme = 'modern'\n    ..fontSize = 14\n    ..darkMode = true\n    ..apply();\n  \n  Config? config2 = null;\n  \/\/ config2\u304cnull\u306e\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u64cd\u4f5c\u306f\u3059\u3079\u3066\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u308b\n  config2\n    ?..theme = 'classic'\n    ..fontSize = 16\n    ..apply();\n  \n  print('config2\u306fnull\u306a\u306e\u3067\u4f55\u3082\u8d77\u304d\u307e\u305b\u3093');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u3068\u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u306e\u7d44\u307f\u5408\u308f\u305b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class StringBuilder {\n  final StringBuffer _buffer = StringBuffer();\n  \n  StringBuilder append(String text) {\n    _buffer.write(text);\n    return this;  \/\/ \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u7528\n  }\n  \n  StringBuilder appendLine(String text) {\n    _buffer.writeln(text);\n    return this;\n  }\n  \n  void clear() {\n    _buffer.clear();\n  }\n  \n  @override\n  String toString() =&gt; _buffer.toString();\n}\n\nvoid main() {\n  print('\\n=== \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u3068\u306e\u7d44\u307f\u5408\u308f\u305b ===');\n  \n  \/\/ \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\n  var result1 = StringBuilder()\n    .append('Hello')\n    .append(' ')\n    .append('World')\n    .toString();\n  print('\u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3: $result1');\n  \n  \/\/ \u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\n  var builder = StringBuilder()\n    ..append('Dart')\n    ..append(' is ')\n    ..append('awesome!');\n  print('\u30ab\u30b9\u30b1\u30fc\u30c9: $builder');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9f\u8df5\u7684\u306a\u4f7f\u7528\u4f8b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class Email {\n  String? from;\n  String? to;\n  String? subject;\n  String? body;\n  List&lt;String&gt; attachments = &#91;];\n  bool isHtml = false;\n  \n  void send() {\n    print('\u30e1\u30fc\u30eb\u9001\u4fe1:');\n    print('  From: $from');\n    print('  To: $to');\n    print('  Subject: $subject');\n    print('  Body: $body');\n    print('  Attachments: ${attachments.join(\", \")}');\n    print('  HTML: $isHtml');\n  }\n}\n\nclass QueryBuilder {\n  String? _table;\n  List&lt;String&gt; _columns = &#91;];\n  String? _where;\n  String? _orderBy;\n  int? _limit;\n  \n  QueryBuilder select(List&lt;String&gt; columns) {\n    _columns = columns;\n    return this;\n  }\n  \n  QueryBuilder from(String table) {\n    _table = table;\n    return this;\n  }\n  \n  QueryBuilder where(String condition) {\n    _where = condition;\n    return this;\n  }\n  \n  QueryBuilder orderBy(String column) {\n    _orderBy = column;\n    return this;\n  }\n  \n  QueryBuilder limit(int count) {\n    _limit = count;\n    return this;\n  }\n  \n  String build() {\n    var query = 'SELECT ${_columns.join(\", \")} FROM $_table';\n    if (_where != null) query += ' WHERE $_where';\n    if (_orderBy != null) query += ' ORDER BY $_orderBy';\n    if (_limit != null) query += ' LIMIT $_limit';\n    return query;\n  }\n}\n\nvoid main() {\n  print('\\n=== \u30e1\u30fc\u30eb\u9001\u4fe1\u306e\u4f8b ===');\n  Email()\n    ..from = 'sender@example.com'\n    ..to = 'receiver@example.com'\n    ..subject = '\u91cd\u8981\u306a\u304a\u77e5\u3089\u305b'\n    ..body = '\u3053\u308c\u306f\u91cd\u8981\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u3067\u3059\u3002'\n    ..attachments.addAll(&#91;'document.pdf', 'image.jpg'])\n    ..isHtml = false\n    ..send();\n  \n  print('\\n=== SQL\u30af\u30a8\u30ea\u30d3\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>  print('\\n=== SQL\u30af\u30a8\u30ea\u30d3\u30eb\u30c0\u30fc\u306e\u4f8b ===');\n  \n  \/\/ \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u65b9\u5f0f\n  var query1 = QueryBuilder()\n    .select(&#91;'id', 'name', 'email'])\n    .from('users')\n    .where('age &gt; 18')\n    .orderBy('name')\n    .limit(10)\n    .build();\n  print('Query 1:\\n$query1\\n');\n  \n  \/\/ \u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u65b9\u5f0f\n  var builder = QueryBuilder()\n    ..select(&#91;'product_name', 'price', 'stock'])\n    ..from('products')\n    ..where('stock &gt; 0')\n    ..orderBy('price DESC')\n    ..limit(5);\n  var query2 = builder.build();\n  print('Query 2:\\n$query2');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">UI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3067\u306e\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class Button {\n  String? text;\n  String? color;\n  double? width;\n  double? height;\n  void Function()? onPressed;\n  \n  void render() {\n    print('Button(text: $text, color: $color, size: ${width}x$height)');\n  }\n}\n\nclass Dialog {\n  String? title;\n  String? message;\n  List&lt;Button&gt; buttons = &#91;];\n  bool? dismissible;\n  \n  void show() {\n    print('=== \u30c0\u30a4\u30a2\u30ed\u30b0\u8868\u793a ===');\n    print('\u30bf\u30a4\u30c8\u30eb: $title');\n    print('\u30e1\u30c3\u30bb\u30fc\u30b8: $message');\n    print('\u9589\u3058\u3089\u308c\u308b: ${dismissible ?? true}');\n    print('\u30dc\u30bf\u30f3:');\n    for (var button in buttons) {\n      button.render();\n    }\n  }\n}\n\nvoid main() {\n  print('\\n=== UI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8 ===');\n  \n  Dialog()\n    ..title = '\u78ba\u8a8d'\n    ..message = '\u3053\u306e\u64cd\u4f5c\u3092\u5b9f\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b\uff1f'\n    ..dismissible = false\n    ..buttons.addAll(&#91;\n      Button()\n        ..text = '\u30ad\u30e3\u30f3\u30bb\u30eb'\n        ..color = 'gray'\n        ..width = 100\n        ..height = 40\n        ..onPressed = () =&gt; print('\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u307e\u3057\u305f'),\n      Button()\n        ..text = 'OK'\n        ..color = 'blue'\n        ..width = 100\n        ..height = 40\n        ..onPressed = () =&gt; print('\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f')\n    ])\n    ..show();\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u306e\u30cd\u30b9\u30c8<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class Address {\n  String? street;\n  String? city;\n  String? country;\n  String? postalCode;\n  \n  @override\n  String toString() =&gt; '$street, $city, $country $postalCode';\n}\n\nclass Company {\n  String? name;\n  Address? address;\n  List&lt;String&gt; departments = &#91;];\n  \n  void display() {\n    print('\u4f1a\u793e\u540d: $name');\n    print('\u4f4f\u6240: $address');\n    print('\u90e8\u7f72: ${departments.join(\", \")}');\n  }\n}\n\nvoid main() {\n  print('\\n=== \u30cd\u30b9\u30c8\u3057\u305f\u30ab\u30b9\u30b1\u30fc\u30c9 ===');\n  \n  Company()\n    ..name = '\u30c6\u30af\u30ce\u30ed\u30b8\u30fc\u682a\u5f0f\u4f1a\u793e'\n    ..address = (Address()\n      ..street = '1-2-3 \u6280\u8853\u901a\u308a'\n      ..city = '\u6771\u4eac'\n      ..country = '\u65e5\u672c'\n      ..postalCode = '100-0001')\n    ..departments.addAll(&#91;'\u958b\u767a\u90e8', '\u55b6\u696d\u90e8', '\u4eba\u4e8b\u90e8'])\n    ..display();\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Map\u3068\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  print('\\n=== Map\u3067\u306e\u4f7f\u7528 ===');\n  \n  var config = &lt;String, dynamic&gt;{}\n    ..&#91;'appName'] = 'MyApp'\n    ..&#91;'version'] = '1.0.0'\n    ..&#91;'debug'] = true\n    ..&#91;'maxConnections'] = 100;\n  \n  print('\u8a2d\u5b9a: $config');\n  \n  \/\/ \u3088\u308a\u8907\u96d1\u306a\u4f8b\n  var settings = &lt;String, dynamic&gt;{}\n    ..&#91;'ui'] = {}\n    ..&#91;'ui']&#91;'theme'] = 'dark'\n    ..&#91;'ui']&#91;'fontSize'] = 14\n    ..&#91;'network'] = {}\n    ..&#91;'network']&#91;'timeout'] = 30\n    ..&#91;'network']&#91;'retry'] = 3;\n  \n  print('\u8a73\u7d30\u8a2d\u5b9a: $settings');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class FormValidator {\n  final Map&lt;String, String&gt; _errors = {};\n  String? _currentField;\n  \n  FormValidator field(String name) {\n    _currentField = name;\n    return this;\n  }\n  \n  FormValidator required(String? value) {\n    if (value == null || value.isEmpty) {\n      _errors&#91;_currentField!] = '${_currentField}\u306f\u5fc5\u9808\u3067\u3059';\n    }\n    return this;\n  }\n  \n  FormValidator email(String? value) {\n    if (value != null &amp;&amp; !value.contains('@')) {\n      _errors&#91;_currentField!] = '\u6709\u52b9\u306a\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044';\n    }\n    return this;\n  }\n  \n  FormValidator minLength(String? value, int length) {\n    if (value != null &amp;&amp; value.length &lt; length) {\n      _errors&#91;_currentField!] = '$length\u6587\u5b57\u4ee5\u4e0a\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044';\n    }\n    return this;\n  }\n  \n  bool get isValid =&gt; _errors.isEmpty;\n  Map&lt;String, String&gt; get errors =&gt; _errors;\n}\n\nvoid main() {\n  print('\\n=== \u30d5\u30a9\u30fc\u30e0\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3 ===');\n  \n  var validator = FormValidator()\n    ..field('email')\n    ..required('user@example.com')\n    ..email('user@example.com')\n    ..field('password')\n    ..required('pass')\n    ..minLength('pass', 8)\n    ..field('username')\n    ..required('');\n  \n  if (validator.isValid) {\n    print('\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u6210\u529f');\n  } else {\n    print('\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc:');\n    validator.errors.forEach((field, error) {\n      print('  $field: $error');\n    });\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5 vs \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class Calculator {\n  double _value = 0;\n  \n  \/\/ \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u7528\uff08this\u3092\u8fd4\u3059\uff09\n  Calculator add(double n) {\n    _value += n;\n    return this;\n  }\n  \n  Calculator subtract(double n) {\n    _value -= n;\n    return this;\n  }\n  \n  Calculator multiply(double n) {\n    _value *= n;\n    return this;\n  }\n  \n  \/\/ \u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u7528\uff08void\u3067\u3082OK\uff09\n  void reset() {\n    _value = 0;\n  }\n  \n  void display() {\n    print('\u73fe\u5728\u306e\u5024: $_value');\n  }\n  \n  double get result =&gt; _value;\n}\n\nvoid main() {\n  print('\\n=== \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3 vs \u30ab\u30b9\u30b1\u30fc\u30c9 ===');\n  \n  \/\/ \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\n  var calc1 = Calculator()\n    .add(10)\n    .multiply(2)\n    .subtract(5);\n  print('\u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u7d50\u679c: ${calc1.result}');\n  \n  \/\/ \u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\n  var calc2 = Calculator()\n    ..add(10)\n    ..multiply(2)\n    ..subtract(5)\n    ..display();  \/\/ void\u30e1\u30bd\u30c3\u30c9\u3082\u547c\u3079\u308b\n  \n  \/\/ \u9055\u3044\u306e\u4f8b\n  print('\\n=== \u623b\u308a\u5024\u306e\u9055\u3044 ===');\n  \n  \/\/ \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u306f\u6700\u5f8c\u306e\u30e1\u30bd\u30c3\u30c9\u306e\u623b\u308a\u5024\u3092\u8fd4\u3059\n  var chainResult = Calculator().add(5).add(3).result;\n  print('\u30c1\u30a7\u30fc\u30f3\u7d50\u679c: $chainResult');\n  \n  \/\/ \u30ab\u30b9\u30b1\u30fc\u30c9\u306f\u6700\u521d\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3059\n  var cascadeObject = (Calculator()\n    ..add(5)\n    ..add(3));\n  print('\u30ab\u30b9\u30b1\u30fc\u30c9\u7d50\u679c: ${cascadeObject.result}');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9f\u8df5\u7684\u306a\u7dcf\u5408\u4f8b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>class HttpRequest {\n  String? _url;\n  String _method = 'GET';\n  Map&lt;String, String&gt; _headers = {};\n  Map&lt;String, dynamic&gt;? _body;\n  Duration? _timeout;\n  \n  HttpRequest url(String url) {\n    _url = url;\n    return this;\n  }\n  \n  HttpRequest method(String method) {\n    _method = method;\n    return this;\n  }\n  \n  HttpRequest header(String key, String value) {\n    _headers&#91;key] = value;\n    return this;\n  }\n  \n  HttpRequest headers(Map&lt;String, String&gt; headers) {\n    _headers.addAll(headers);\n    return this;\n  }\n  \n  HttpRequest body(Map&lt;String, dynamic&gt; body) {\n    _body = body;\n    return this;\n  }\n  \n  HttpRequest timeout(Duration duration) {\n    _timeout = duration;\n    return this;\n  }\n  \n  void send() {\n    print('HTTP Request:');\n    print('  Method: $_method');\n    print('  URL: $_url');\n    print('  Headers: $_headers');\n    if (_body != null) print('  Body: $_body');\n    if (_timeout != null) print('  Timeout: $_timeout');\n  }\n}\n\nclass Logger {\n  String _level = 'INFO';\n  String? _tag;\n  bool _timestamp = true;\n  \n  void setLevel(String level) =&gt; _level = level;\n  void setTag(String tag) =&gt; _tag = tag;\n  void enableTimestamp(bool enabled) =&gt; _timestamp = enabled;\n  \n  void log(String message) {\n    var prefix = '';\n    if (_timestamp) {\n      prefix += '&#91;${DateTime.now()}] ';\n    }\n    if (_tag != null) {\n      prefix += '&#91;$_tag] ';\n    }\n    prefix += '&#91;$_level] ';\n    print('$prefix$message');\n  }\n}\n\nvoid main() {\n  print('\\n=== HTTP \u30ea\u30af\u30a8\u30b9\u30c8 ===');\n  \n  \/\/ \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u3068\u30ab\u30b9\u30b1\u30fc\u30c9\u306e\u6df7\u5728\n  HttpRequest()\n    .url('https:\/\/api.example.com\/users')\n    .method('POST')\n    ..headers({\n      'Content-Type': 'application\/json',\n      'Authorization': 'Bearer token123'\n    })\n    ..body({\n      'name': '\u592a\u90ce',\n      'email': 'taro@example.com'\n    })\n    ..timeout(Duration(seconds: 30))\n    ..send();\n  \n  print('\\n=== \u30ed\u30ac\u30fc ===');\n  \n  var logger = Logger()\n    ..setLevel('DEBUG')\n    ..setTag('MyApp')\n    ..enableTimestamp(true);\n  \n  logger\n    ..log('\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u3057\u307e\u3057\u305f')\n    ..log('\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u63a5\u7d9a\u3057\u307e\u3057\u305f')\n    ..setLevel('ERROR')\n    ..log('\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u3092\u4f7f\u3046\u969b\u306e\u6ce8\u610f\u70b9<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  print('\\n=== \u6ce8\u610f\u70b9 ===');\n  \n  \/\/ 1. \u30ab\u30b9\u30b1\u30fc\u30c9\u306f\u5143\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3059\n  var list = &#91;1, 2, 3];\n  var result1 = list..add(4);  \/\/ list\u3092\u8fd4\u3059\n  print('result1 is list: ${identical(result1, list)}');  \/\/ true\n  \n  \/\/ 2. \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u3068\u306e\u9055\u3044\n  var numbers = &#91;3, 1, 2];\n  \/\/ var sorted = numbers..sort();  \/\/ \u3053\u308c\u306fnumbers\u3092\u8fd4\u3059\uff08\u7834\u58ca\u7684\uff09\n  var sorted = &#91;...numbers]..sort();  \/\/ \u30b3\u30d4\u30fc\u3057\u3066\u304b\u3089\u30bd\u30fc\u30c8\n  print('\u5143\u306e\u30ea\u30b9\u30c8: $numbers');\n  print('\u30bd\u30fc\u30c8\u6e08\u307f: $sorted');\n  \n  \/\/ 3. \u5f0f\u306e\u4e2d\u3067\u30ab\u30b9\u30b1\u30fc\u30c9\u3092\u4f7f\u3046\u5834\u5408\u306f\u62ec\u5f27\u304c\u5fc5\u8981\n  var length = (&#91;1, 2, 3]..add(4)).length;\n  print('\u9577\u3055: $length');\n  \n  \/\/ 4. null\u30bb\u30fc\u30d5\u30c6\u30a3\u306b\u6ce8\u610f\n  List&lt;int&gt;? nullableList;\n  \/\/ nullableList..add(1);  \/\/ \u30a8\u30e9\u30fc\n  nullableList?..add(1);    \/\/ OK\uff08null\u306e\u5834\u5408\u306f\u4f55\u3082\u3057\u306a\u3044\uff09\n  \n  \/\/ 5. void\u30e1\u30bd\u30c3\u30c9\u3067\u3082\u4f7f\u3048\u308b\uff08\u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u3068\u306e\u5927\u304d\u306a\u9055\u3044\uff09\n  var builder = StringBuffer()\n    ..write('Hello')\n    ..write(' ')\n    ..write('World')\n    ..clear()  \/\/ void\u30e1\u30bd\u30c3\u30c9\n    ..write('Dart');\n  print('\u7d50\u679c: $builder');\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u307e\u3068\u3081<\/h2>\n\n\n\n<p>\u3053\u306e\u7ae0\u3067\u306f\u3001Dart\u306e\u95a2\u6570\u3068\u30af\u30ed\u30fc\u30b8\u30e3\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u5b66\u3073\u307e\u3057\u305f\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b66\u3093\u3060\u3053\u3068<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u95a2\u6570\u306e\u8a73\u7d30<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u4f4d\u7f6e\u5f15\u6570\u3068\u30aa\u30d7\u30b7\u30e7\u30f3\u4f4d\u7f6e\u5f15\u6570<\/li>\n\n\n\n<li>\u540d\u524d\u4ed8\u304d\u5f15\u6570\u3068required\u30ad\u30fc\u30ef\u30fc\u30c9<\/li>\n\n\n\n<li>\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306e\u8a2d\u5b9a<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u9ad8\u968e\u95a2\u6570<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u95a2\u6570\u3092\u5f15\u6570\u3068\u3057\u3066\u53d7\u3051\u53d6\u308b<\/li>\n\n\n\n<li>\u95a2\u6570\u3092\u623b\u308a\u5024\u3068\u3057\u3066\u8fd4\u3059<\/li>\n\n\n\n<li>\u95a2\u6570\u306e\u5408\u6210\u3068\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u7121\u540d\u95a2\u6570\u3068\u30e9\u30e0\u30c0\u5f0f<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u7121\u540d\u95a2\u6570\u306e\u5b9a\u7fa9\u3068\u4f7f\u7528<\/li>\n\n\n\n<li>\u30a2\u30ed\u30fc\u69cb\u6587\u306b\u3088\u308b\u7c21\u6f54\u306a\u8a18\u8ff0<\/li>\n\n\n\n<li>\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u30d1\u30bf\u30fc\u30f3<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u30af\u30ed\u30fc\u30b8\u30e3\u3068\u30b9\u30b3\u30fc\u30d7<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5916\u5074\u306e\u30b9\u30b3\u30fc\u30d7\u306e\u5909\u6570\u306e\u30ad\u30e3\u30d7\u30c1\u30e3<\/li>\n\n\n\n<li>\u30ec\u30ad\u30b7\u30ab\u30eb\u30b9\u30b3\u30fc\u30d7\u306e\u7406\u89e3<\/li>\n\n\n\n<li>\u72b6\u614b\u306e\u4fdd\u6301\u3068\u30ab\u30d7\u30bb\u30eb\u5316<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u9023\u7d9a\u3057\u305f\u64cd\u4f5c\u306e\u7c21\u6f54\u306a\u8a18\u8ff0<\/li>\n\n\n\n<li>\u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u3068\u306e\u9055\u3044<\/li>\n\n\n\n<li>Null\u8a31\u5bb9\u30ab\u30b9\u30b1\u30fc\u30c9\uff08?..\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u95a2\u6570\u306f\u7b2c\u4e00\u7d1a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/strong>\uff1a\u5909\u6570\u306b\u4ee3\u5165\u3057\u305f\u308a\u3001\u5f15\u6570\u3068\u3057\u3066\u6e21\u3057\u305f\u308a\u3067\u304d\u308b<\/li>\n\n\n\n<li><strong>\u30af\u30ed\u30fc\u30b8\u30e3\u306f\u5f37\u529b<\/strong>\uff1a\u72b6\u614b\u3092\u4fdd\u6301\u3057\u305f\u308a\u3001\u60c5\u5831\u3092\u96a0\u853d\u3057\u305f\u308a\u3067\u304d\u308b<\/li>\n\n\n\n<li><strong>\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u306f\u4fbf\u5229<\/strong>\uff1a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u521d\u671f\u5316\u3084\u8a2d\u5b9a\u306b\u6700\u9069<\/li>\n\n\n\n<li><strong>\u9069\u6750\u9069\u6240<\/strong>\uff1a\u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u3068\u30ab\u30b9\u30b1\u30fc\u30c9\u8a18\u6cd5\u3092\u72b6\u6cc1\u306b\u5fdc\u3058\u3066\u4f7f\u3044\u5206\u3051\u308b<\/li>\n<\/ul>\n\n\n\n<p>\u6b21\u306e\u7ae0\u3067\u306f\u3001Dart\u306e\u30af\u30e9\u30b9\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u3064\u3044\u3066\u6df1\u304f\u5b66\u3093\u3067\u3044\u304d\u307e\u3059\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u95a2\u6570\u306e\u8a73\u7d30\uff08\u540d\u524d\u4ed8\u304d\u5f15\u6570\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570\uff09 \u4f4d\u7f6e\u5f15\u6570\uff08Positional Parameters\uff09 \u30aa\u30d7\u30b7\u30e7\u30f3\u4f4d\u7f6e\u5f15\u6570\uff08Optional Positional Parameters\uff09 \u540d\u524d\u4ed8\u304d\u5f15\u6570\uff08Named Param [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"footnotes":""},"categories":[70,67,4],"tags":[],"class_list":["post-3180","post","type-post","status-publish","format-standard","hentry","category-dart-flutter","category-flutter","category-tech"],"_links":{"self":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/3180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3180"}],"version-history":[{"count":1,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/3180\/revisions"}],"predecessor-version":[{"id":3181,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/3180\/revisions\/3181"}],"wp:attachment":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}