Old Russian measure of length: Difference between revisions

Content deleted Content added
Thundergnat (talk | contribs)
→‎{{header|Perl 6}}: Added a Perl 6 entry
Line 18: Line 18:
100 m = 2249,2971 vershoks = 140,58107 arshins = 46,860366 sazhens = 0,093790712 versts;
100 m = 2249,2971 vershoks = 140,58107 arshins = 46,860366 sazhens = 0,093790712 versts;
3 vershoks = 13,3375 cm; 2 sazhens = 96 vershoks = 6 arshins = 4,268 m; 1 verst = 1,067 km.
3 vershoks = 13,3375 cm; 2 sazhens = 96 vershoks = 6 arshins = 4,268 m; 1 verst = 1,067 km.

=={{header|D}}==
{{trans|Perl6}}
<lang d>import std.stdio, std.string, std.algorithm, std.conv;

void main(string[] a) {
if (a.length == 3 && isNumeric(a[1])) {
double[string] factor = [
"tochka" : 0.000254,
"liniya" : 0.00254,
"diuym" : 0.0254,
"vershok" : 0.04445,
"piad" : 0.1778,
"fut" : 0.3048,
"arshin" : 0.7112,
"sazhen" : 2.1336,
"versta" : 1066.8,
"milia" : 7467.6,
"centimeter" : 0.01,
"meter" : 1.0,
"kilometer" : 1000.0,
];
if (auto p = a[2] in factor) {
immutable magnitude = to!double(a[1]);
immutable meters = magnitude * (*p);
writefln("%s %s to: \n", a[1], a[2]);
auto keys = factor.keys;
schwartzSort!(k => factor[k], "a < b")(keys);
foreach (key; keys)
writefln("%10s: %s", key, meters / factor[key]);
return;
}
}
writeln("Please provide a number and unit");
}</lang>
{{out}}
<pre>1 meter to:

tochka: 3937.01
liniya: 393.701
centimeter: 100
diuym: 39.3701
vershok: 22.4972
piad: 5.6243
fut: 3.28084
arshin: 1.40607
meter: 1
sazhen: 0.468691
kilometer: 0.001
versta: 0.000937382
milia: 0.000133911

1 milia to:

tochka: 2.94e+07
liniya: 2.94e+06
centimeter: 746760
diuym: 294000
vershok: 168000
piad: 42000
fut: 24500
arshin: 10500
meter: 7467.6
sazhen: 3500
kilometer: 7.4676
versta: 7
milia: 1</pre>


=={{header|Perl 6}}==
=={{header|Perl 6}}==
Line 88: Line 155:
versta: 7
versta: 7
</pre>
</pre>



=={{header|REXX}}==
=={{header|REXX}}==