[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Graphics in irb

Andrew McGuinness

2/11/2006 12:56:00 PM

I'm starting to teach my 7-year-old programming in Ruby, but unlike
Scheme or Python or Logo, there doesn't seem to be a graphical
interactive environment, such as DrScheme or Livewires.

It should be easy to create one, and I've made a start using Tk and irb.
I've come across what looks like an ommission in irb:

The IRB::Irb constructor takes optional "input_method" and
"output_method" parameters. I've created an InputMethod subclass that
reads commands from a GUI window, which works, but the output method is
ignored - it's passed to the IRB::Context object, but never used.

It looks like something like the following is missing:

module IRB
class Context
def output( str )
@output_method.print( str )
end
end

class Irb
def printf( *args )
@context.output( sprintf( *args ) )
end
end
end

By doing that, I can then direct irb's output to my GUI object.

How should this get fixed in irb?

--
Andrew McGuinness
1 Answer

G.Durga Prasad

2/11/2006 6:36:00 PM

0

On 2/11/06, Andrew McGuinness <a.mcguinness@ntlworld.com> wrote:
> I'm starting to teach my 7-year-old programming in Ruby, but unlike
> Scheme or Python or Logo, there doesn't seem to be a graphical
> interactive environment, such as DrScheme or Livewires.
>
> It should be easy to create one, and I've made a start using Tk and irb.
> I've come across what looks like an ommission in irb:
>
> The IRB::Irb constructor takes optional "input_method" and
> "output_method" parameters. I've created an InputMethod subclass that
> reads commands from a GUI window, which works, but the output method is
> ignored - it's passed to the IRB::Context object, but never used.
>
> It looks like something like the following is missing:
>
> module IRB
> class Context
> def output( str )
> @output_method.print( str )
> end
> end
>
> class Irb
> def printf( *args )
> @context.output( sprintf( *args ) )
> end
> end
> end
>
> By doing that, I can then direct irb's output to my GUI object.
>
> How should this get fixed in irb?
>
> --
> Andrew McGuinness
>

I think you can look here for a solution
http://onestepback.org/packages/ru...

Prasad