Analyze ruby conditional expression

Hi,

I want to examine conditional expressions and I’m looking for tools to
do it.
It would be perfect to do it purely in ruby or even in jruby.

Any recommendations are apprecitated.

Gábor

On Sun, Feb 8, 2009 at 11:03 AM, Gábor Sebestyén [email protected] wrote:

Hi,

I want to examine conditional expressions and I’m looking for tools to do it.
It would be perfect to do it purely in ruby or even in jruby.

Any recommendations are apprecitated.

Gábor

I am not sure what a conditional expression is, care to give some
examples?
Robert

On 08.02.2009 11:03, Gábor Sebestyén wrote:

I want to examine conditional expressions and I’m looking for tools to do it.

What exactly does “examine” mean in this context? If you want to
execute them and see results or execute parts of them, why is IRB not
sufficient?

Cheers

robert

2009/2/8 Gábor Sebestyén [email protected]:

if B
do_something2
end

If A and B equals their conditional branches could be joined.

I’m investigating how it would be easy evaluate A and B whether they
are both true or false.
I need this in my refactoring experiment.

You are aware that expressions A and B can have side effects which
makes it practically impossible to decide on the equivalence? Keep in
mind that Ruby is not a pure functional language.

Cheers

robert

On Mon, Feb 9, 2009 at 4:22 AM, Gábor Sebestyén [email protected]
wrote:

if B

if A && B then
“bingo”
elsif(A) then
“bango”
elsif(B)
“bongo”
else
nil
end

This is just a guess, but you could also use a nested if or a case.
case(a)
when !a | b then “a=t, b=t”
when !(a & b) then “a=t, b=f”
when !(a | b) then “a=f, b=t”
when !a & b then “a=f, b=f”
end

But that would be wierd.

case(

For instance, I want to decide whether the conditional expressions of
two subsequent IFs are the same (or equivalent). I know it’s not easy
in most cases.

Let’s see a primitive example:

if A then
do_something1
end

if B
do_something2
end

If A and B equals their conditional branches could be joined.

I’m investigating how it would be easy evaluate A and B whether they
are both true or false.
I need this in my refactoring experiment.

Gábor