Old Russian measure of length: Difference between revisions
Content deleted Content added
Thundergnat (talk | contribs) →{{header|Perl 6}}: Added a Perl 6 entry |
→{{header|D}}: added D |
||
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}}== |