Jump to content

Price fraction: Difference between revisions

m
Added the Sidef language
(Added Elixir)
m (Added the Sidef language)
Line 2,894:
end if;
end func;</lang>
 
=={{header|Sidef}}==
<lang ruby>var table = <<'EOT'.lines.map { .words.grep{.looks_like_number}.map{.to_num} };
>= 0.00 < 0.06 := 0.10
>= 0.06 < 0.11 := 0.18
>= 0.11 < 0.16 := 0.26
>= 0.16 < 0.21 := 0.32
>= 0.21 < 0.26 := 0.38
>= 0.26 < 0.31 := 0.44
>= 0.31 < 0.36 := 0.50
>= 0.36 < 0.41 := 0.54
>= 0.41 < 0.46 := 0.58
>= 0.46 < 0.51 := 0.62
>= 0.51 < 0.56 := 0.66
>= 0.56 < 0.61 := 0.70
>= 0.61 < 0.66 := 0.74
>= 0.66 < 0.71 := 0.78
>= 0.71 < 0.76 := 0.82
>= 0.76 < 0.81 := 0.86
>= 0.81 < 0.86 := 0.90
>= 0.86 < 0.91 := 0.94
>= 0.91 < 0.96 := 0.98
>= 0.96 < 1.01 := 1.00
EOT
 
func price(money) {
table.each { |row|
all {
row[0] <= money;
row[1] > money;
} && return row[2];
};
die "Out of range";
}
 
%n(0.3793 0.4425 0.0746 0.6918 0.2993 0.5486 0.7848 0.9383 0.2292).each { |n|
say price(n);
};</lang>
{{out}}
<pre>
0.54
0.58
0.18
0.78
0.44
0.66
0.86
0.98
0.38
</pre>
 
=={{header|Smalltalk}}==
2,747

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.