瀏覽代碼

Merge pull request #3133 from vanillajonathan/patch-1

Format code
Henning Dieterichs 3 年之前
父節點
當前提交
68ac1dda1b
共有 1 個文件被更改,包括 18 次插入10 次删除
  1. 18 10
      website/index/samples/sample.dart.txt

+ 18 - 10
website/index/samples/sample.dart.txt

@@ -1,21 +1,24 @@
-import 'dart:async';
 import 'dart:math' show Random;
-main() async {
+
+void main() async {
   print('Compute π using the Monte Carlo method.');
-  await for (var estimate in computePi().take(100)) {
+  await for (final estimate in computePi().take(100)) {
     print('π ≅ $estimate');
   }
 }
+
 /// Generates a stream of increasingly accurate estimates of π.
-Stream<double> computePi({int batch: 100000}) async* {
-  var total = 0;
+Stream<double> computePi({int batch = 100000}) async* {
+  var total = 0; // Inferred to be of type int
   var count = 0;
   while (true) {
-    var points = generateRandom().take(batch);
-    var inside = points.where((p) => p.isInsideUnitCircle);
+    final points = generateRandom().take(batch);
+    final inside = points.where((p) => p.isInsideUnitCircle);
+
     total += batch;
     count += inside.length;
-    var ratio = count / total;
+    final ratio = count / total;
+
     // Area of a circle is A = π⋅r², therefore π = A/r².
     // So, when given random points with x ∈ <0,1>,
     // y ∈ <0,1>, the ratio of those inside a unit circle
@@ -24,14 +27,19 @@ Stream<double> computePi({int batch: 100000}) async* {
     yield ratio * 4;
   }
 }
-Iterable<Point> generateRandom([int seed]) sync* {
+
+Iterable<Point> generateRandom([int? seed]) sync* {
   final random = Random(seed);
   while (true) {
     yield Point(random.nextDouble(), random.nextDouble());
   }
 }
+
 class Point {
-  final double x, y;
+  final double x;
+  final double y;
+
   const Point(this.x, this.y);
+
   bool get isInsideUnitCircle => x * x + y * y <= 1;
 }