DartでΣを実装
せっかく年末年始にDartとAqueductの勉強をしていたのに、今OpenCVとJavaばっかり触っていて勉強したこと事を忘れてしまいました。。。 ちょっとずつでも小さいコードとか書いて復習していかないと流石にもったいないなぁということで、Σを実装しました。 こんな感じです。
typedef sigmaClosure = int Function (int);
int sigma (int k, int to, sigmaClosure exp) {
final List<int>list = List.generate(to, (int i) => k + i);
final Iterable<int> iterated = list.map((int value) => exp(value));
final int sum = iterated.reduce((a, b) => a+b);
return sum;
}
main () {
int result = sigma(1, 5, (int n) => n + 2);
assert(result == 25);
print(result);
}
実行はdart --enable-asserts sigma.dart
公開日:2019/01/18