Average loop length: Difference between revisions

→‎{{header|Wren}}: Now uses 'fmt' module.
(Added Wren)
(→‎{{header|Wren}}: Now uses 'fmt' module.)
Line 2,759:
=={{header|Wren}}==
{{trans|Go}}
{{libheader|fmt}}
<lang ecmascript>import "random" for Random
import "/fmt" for Fmt
 
var rset = Fn.new { |m, n|
var s = "%(n)"
var c = s.count
return (m > c) ? " " * (m - c) + s : s
}
 
var toPlaces = Fn.new { |n, p|
var pw = 10.pow(p)
n = (n * pw).round / pw
if (n.isInteger) return "%(n)." + "0" * p
var ns = "%(n)"
var c = ns.count
var ix = ns.indexOf(".")
var z = p - c + ix + 1
if (z > 0) ns = ns + "0" * z
return ns
}
 
var nmax = 20
Line 2,813 ⟶ 2,797:
var a = avg.call(n)
var b = ana.call(n)
var ns = rsetFmt.calld(3, n)
var as = rsetFmt.callf(9, toPlaces.call(a, 4))
var bs = rsetFmt.callf(12, toPlaces.call(b, 4))
var e = (a - b).abs/ b * 100
var es = rsetFmt.callf(6, toPlaces.call(e, 2))
System.print("%(ns) %(as) %(bs) (%(es)\%)")
}</lang>
9,485

edits