Data Processing Example¶
Process and analyze data using arrays and higher-order functions.
// Sample sales data
let sales = [120, 340, 180, 520, 290, 410, 150, 380];
print "=== Sales Data Analysis ===";
print "";
// Calculate total
let total = reduce(sales, 0, |acc, x| => { return acc + x; });
print "Total Sales: $#{total}";
// Calculate average
let count = len(sales);
let average = total / count;
print "Average: $#{average}";
// Find maximum
let max_sale = reduce(sales, sales[0], |acc, x| => {
if x > acc {
return x;
}
return acc;
});
print "Best Day: $#{max_sale}";
// Find minimum
let min_sale = reduce(sales, sales[0], |acc, x| => {
if x < acc {
return x;
}
return acc;
});
print "Worst Day: $#{min_sale}";
// Filter high performers (above average)
let high_performers = filter(sales, |x| => {
return x > average;
});
print "";
print "High Performance Days: #{len(high_performers)}";
print "Values: #{high_performers}";
// Calculate percentage above target
let target = 300;
let above_target = filter(sales, |x| => { return x >= target; });
let percentage = (len(above_target) / count) * 100;
print "";
print "Days meeting $#{target} target: #{len(above_target)}";
print "Success rate: #{percentage}%";
// Apply 10% bonus to all sales
let with_bonus = map(sales, |x| => { return x * 1.1; });
print "";
print "With 10% bonus: #{with_bonus}";
// Generate report
print "";
print "=== Summary Report ===";
for i in 0..len(sales) {
let day = i + 1;
let amount = sales[i];
let status = "";
if amount >= target {
status = "✓ MET";
} else {
status = "✗ BELOW";
}
print "Day #{day}: $#{amount} #{status}";
}