Old Russian measure of length: Difference between revisions

(Added Wren)
Line 373:
versta: 7
milia: 1</pre>
 
=={{header|Elena}}==
{{trans|Julia}}
<lang elena>import system'collections;
import system'routines;
import extensions;
 
unit2mult = new Map<string, real>()
.setAt("arshin", 0.7112r)
.setAt("centimeter", 0.01r)
.setAt("diuym", 0.0254r)
.setAt("fut", 0.3048r)
.setAt("kilometer", 1000.0r)
.setAt("liniya", 0.00254r)
.setAt("meter", 1.0r)
.setAt("milia", 7467.6r)
.setAt("piad", 0.1778r)
.setAt("sazhen", 2.1336r)
.setAt("tochka", 0.000254r)
.setAt("vershok", 0.04445r)
.setAt("versta", 1066.8r);
 
public program()
{
if (program_arguments.Length != 3)
{ console.writeLine:"need two arguments - number then units"; AbortException.raise() };
real value := program_arguments[1].toReal();
string unit := program_arguments[2];
ifnot (unit2mult.containsKey(unit))
{
console.printLine("only following units are supported:",
unit2mult.selectBy:(x=>x.Key).ascendant())
};
console.printLine(value," ",unit," to:");
 
unit2mult.forEach:(u,mlt)
{
console.printPaddingLeft(30, u, ":").printLine(value * unit2mult[unit] / mlt)
}
}</lang>
{{out}}
<pre>2.3 meter to:
arshin:3.233970753656
centimeter:230.0
diuym:90.55118110236
fut:7.54593175853
kilometer:0.0023
liniya:905.5118110236
meter:2.3
milia:0.0003079972146
piad:12.93588301462
sazhen:1.077990251219
tochka:9055.118110236
vershok:51.74353205849
versta:0.0021559805024
</pre>
 
=={{header|Factor}}==
Anonymous user