Resistance calculator: Difference between revisions
Content added Content deleted
Line 268: | Line 268: | ||
=={{header|Julia}}== |
=={{header|Julia}}== |
||
{{trans|Perl 6}} |
{{trans|Perl 6}} |
||
====Infix==== |
|||
<lang julia>using Formatting |
<lang julia>using Formatting |
||
import Base.*, Base.* |
import Base.*, Base.* |
||
Line 356: | Line 357: | ||
6.000 | 10.800 | 1.800 | 19.440 | | r |
6.000 | 10.800 | 1.800 | 19.440 | | r |
||
</pre> |
</pre> |
||
====RPN==== |
|||
<lang julia>function rpn(arr::Vector) |
|||
stack = Any[] |
|||
for op in arr |
|||
if isa(op, Function) |
|||
arg2 = pop!(stack) |
|||
arg1 = pop!(stack) |
|||
push!(stack, op(arg1, arg2)) |
|||
else |
|||
push!(stack, op) |
|||
end |
|||
end |
|||
length(stack) != 1 && error("invalid RPN expression $str") |
|||
return stack[1] |
|||
end |
|||
println("\n\nRPN Version:") |
|||
node = rpn([R8, R10, +, R9, *, R7, +, R6, *, R5, +, R4, *, R3, +, R2, *, R1, +]) |
|||
setvoltage(node, 18) |
|||
report(node) |
|||
</lang>{{out}} |
|||
Same as infix version. |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |