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}}==