From 7326075054f6cfcf94af00f3b487210e9004ca81 Mon Sep 17 00:00:00 2001 From: Reuben Thomas Date: Sun, 5 Jan 2025 21:23:11 +0000 Subject: [PATCH] Add Rosetta Code 'Averages/RArithmetic mean' task (from Daniel Shindler) --- rosettacode/Averages-Arithmetic mean.stdout | 1 + rosettacode/Averages-Arithmetic mean.ursa | 8 ++++++++ src/ursa/examples.test.ts | 1 + 3 files changed, 10 insertions(+) create mode 100644 rosettacode/Averages-Arithmetic mean.stdout create mode 100644 rosettacode/Averages-Arithmetic mean.ursa diff --git a/rosettacode/Averages-Arithmetic mean.stdout b/rosettacode/Averages-Arithmetic mean.stdout new file mode 100644 index 0000000..2edeafb --- /dev/null +++ b/rosettacode/Averages-Arithmetic mean.stdout @@ -0,0 +1 @@ +20 \ No newline at end of file diff --git a/rosettacode/Averages-Arithmetic mean.ursa b/rosettacode/Averages-Arithmetic mean.ursa new file mode 100644 index 0000000..0e00ce5 --- /dev/null +++ b/rosettacode/Averages-Arithmetic mean.ursa @@ -0,0 +1,8 @@ +let mean = fn(l) { + var tot = 0 + for i in l.iter() { + tot := tot + i + } + return tot / l.len() +} +print(mean([10, 30, 50, 5, 5])) diff --git a/src/ursa/examples.test.ts b/src/ursa/examples.test.ts index c6ee03b..9b03e08 100644 --- a/src/ursa/examples.test.ts +++ b/src/ursa/examples.test.ts @@ -57,6 +57,7 @@ import { // Rosetta code examples ['Accumulator factory', 'rosettacode/Accumulator factory'], ['Ackermann function', 'rosettacode/Ackermann function'], + ['Averages/Arithmetic mean', 'rosettacode/Averages-Arithmetic mean'], ['Averages/Root mean square', 'rosettacode/Averages-Root mean square'], // This program has an unbound variable // ['Conditional structures', 'rosettacode/Conditional structures'],