J
John Crichton
I am trying to write a script that when certain circumstances arise it
creates an object instance that adds some info to a temporary array for
a given time. When the given time is up I would like to perform a couple
actions and print the array. After that the array and object instance
will no longer be needed, so I would like to ensure the obj is freed
from memory. I am pretty new to coding and to Ruby, what is the best
way to accomplish this. I thought it would be a while loop but I am
confused as to how to perform an action once my counter or time has
reached it's end. For example, where can I put the ending action?
class Blah
def initialize
@myarray = Array.new
@init_time = Time.now.to_f
@twomin = @init_time + 120
end
def add_to_array(x)
while Time.now.to_f < @twomin
@myarray << x
end
#pp @myarray.inspect
end
end
Since the while loop has a definite end. Does this end the object's
instance, I suspect no and I need to put some die statement in there or
delete the object from outside the object?
If I do an if/else loop than it will continue to run I suspect too.
if Time.now.to_f < @twomin
@myarray << x
else
pp @myarray.inspect
end
How can I properly run some actions or a method after my counter/time
has reached it's end and then delete the obj instance?
Thanks
creates an object instance that adds some info to a temporary array for
a given time. When the given time is up I would like to perform a couple
actions and print the array. After that the array and object instance
will no longer be needed, so I would like to ensure the obj is freed
from memory. I am pretty new to coding and to Ruby, what is the best
way to accomplish this. I thought it would be a while loop but I am
confused as to how to perform an action once my counter or time has
reached it's end. For example, where can I put the ending action?
class Blah
def initialize
@myarray = Array.new
@init_time = Time.now.to_f
@twomin = @init_time + 120
end
def add_to_array(x)
while Time.now.to_f < @twomin
@myarray << x
end
#pp @myarray.inspect
end
end
Since the while loop has a definite end. Does this end the object's
instance, I suspect no and I need to put some die statement in there or
delete the object from outside the object?
If I do an if/else loop than it will continue to run I suspect too.
if Time.now.to_f < @twomin
@myarray << x
else
pp @myarray.inspect
end
How can I properly run some actions or a method after my counter/time
has reached it's end and then delete the obj instance?
Thanks