Forum: Ruby Analyze ruby conditional expression

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Gábor Sebestyén (Guest)
on 2009-02-08 12:09
(Received via mailing list)
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
Robert D. (Guest)
on 2009-02-08 12:45
(Received via mailing list)
On Sun, Feb 8, 2009 at 11:03 AM, Gábor Sebestyén 
<removed_email_address@domain.invalid> 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
Robert K. (Guest)
on 2009-02-08 14:36
(Received via mailing list)
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
Gábor Sebestyén (Guest)
on 2009-02-08 20:23
(Received via mailing list)
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
Robert K. (Guest)
on 2009-02-09 10:52
(Received via mailing list)
2009/2/8 Gábor Sebestyén <removed_email_address@domain.invalid>:
>  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
Dylan E. (Guest)
on 2009-02-09 12:08
(Received via mailing list)
On Mon, Feb 9, 2009 at 4:22 AM, Gábor Sebestyén 
<removed_email_address@domain.invalid>
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(
This topic is locked and can not be replied to.