That's what I thought, but then I must change the code I want to run (see
highlighted code)

 Shoes.app :height => 260, :width => 250 do
   animate(1) do
     @time = Time.now
     clear do
       *$app.draw_background
*       stack do
         puts "Time = [EMAIL PROTECTED]"
       end
     end
   end
   def draw_background
   end
 end

And would ideally like not change that code...

Am I right?

-Jean

On Thu, Aug 21, 2008 at 6:48 AM, Ernest Prabhakar <
[EMAIL PROTECTED]> wrote:

> Hi Jean,
> On Aug 20, 2008, at 4:59 PM, Jean Lazarou wrote:
>
> Hi Ernest,
>
> Where does the '$app' come from?
>
>
> That's just a global that you initialize from *inside* the 'Shoes.app'
> section of your code, so you can refer to it elsewhere.
>
> Look at some of the examples, like tankspank.
>
> -enp
>
>
>
> -Jean
>
>
> On Wed, Aug 20, 2008 at 11:26 PM, Ernest Prabhakar <
> [EMAIL PROTECTED]> wrote:
>
>> Hi Jean,
>>
>> You may want to try the:
>>
>>  $app = self
>>> $app.draw_background
>>>
>>
>> trick....
>>
>> -enp
>>
>>
>>
>> On Aug 20, 2008, at 11:22 AM, Jean Lazarou wrote:
>>
>>  Thank you all for answering, but if I go for simplicity nothing works...
>>>
>>> 34 Shoes.app :height => 260, :width => 250 do
>>> 35   animate(1) do
>>> 36     @time = Time.now
>>> 37     clear do
>>> 38       draw_background
>>> 39       stack do
>>> 40         puts "Time = [EMAIL PROTECTED]"
>>> 41       end
>>> 42     end
>>> 43   end
>>> 44   def draw_background
>>> 45     puts "draw_background"
>>> 46   end
>>> 47 end
>>>
>>> If I define a Shoes class as following and some methods (like animate):
>>>
>>> 13 class Shoes
>>> 14
>>> 15    def self.app params
>>> 16      yield
>>> 17    end
>>> 18
>>> 19
>>> 20 end
>>> 21
>>> 22  def animate fps, &block
>>> 23    yield
>>> 24  end
>>> 25
>>> 26  def clear
>>> 27    yield
>>> 28  end
>>> 29
>>> 30  def stack
>>> 31    yield
>>> 32  end
>>>
>>> I get
>>>
>>> test.rb:38: undefined local variable or method `draw_background' for
>>> #<Object:0x288fa34 @time=Wed Aug 20 19:56:46 +0200 2008> (NameError)
>>>    from test.rb:27:in `clear'
>>>
>>> I don't find any easy way to make the code run. Of course, if I comment
>>> the call to `draw_background' (line 38) I get the output => Time = Wed Aug
>>> 20 20:03:22 +0200 2008
>>>
>>> (I run the code with the C-Ruby runtime)
>>>
>>> Is there some Ruby technical I don't know?
>>>
>>> Jean
>>>
>>>
>>
>
>

Reply via email to