D
Daniel Schüle
Hello *,
I have some quick questions
I tried this code
irb(main):024:0> def a
irb(main):025:1> def b
irb(main):026:2> def c
irb(main):027:3> puts "in c"
irb(main):028:3> end
irb(main):029:2> puts "in b"
irb(main):030:2> c
irb(main):031:2> end
irb(main):032:1> puts "in a"
irb(main):033:1> b
irb(main):034:1> end
=> nil
irb(main):035:0> a
in a
in b
in c
=> nil
irb(main):036:0> class X
irb(main):037:1> def foo
irb(main):038:2> puts self
irb(main):039:2> def bar
irb(main):040:3> puts self
irb(main):041:3> puts "bar"
irb(main):042:3> end
irb(main):043:2> puts "in foo"
irb(main):044:2> bar
irb(main):045:2> end
irb(main):046:1> end
=> nil
irb(main):047:0> x = X.new
=> #<X:0x401bd5f0>
irb(main):048:0> x.foo
#<X:0x401bd5f0>
in foo
#<X:0x401bd5f0>
bar
=> nil
irb(main):049:0>
and it seems to be ok, no warning no error at least
I remember reading (but dont ask me the article)
that nested functions are not allowed in ruby
is this something that has been changed or was this always
possible?
thx, Daniel
I have some quick questions
I tried this code
irb(main):024:0> def a
irb(main):025:1> def b
irb(main):026:2> def c
irb(main):027:3> puts "in c"
irb(main):028:3> end
irb(main):029:2> puts "in b"
irb(main):030:2> c
irb(main):031:2> end
irb(main):032:1> puts "in a"
irb(main):033:1> b
irb(main):034:1> end
=> nil
irb(main):035:0> a
in a
in b
in c
=> nil
irb(main):036:0> class X
irb(main):037:1> def foo
irb(main):038:2> puts self
irb(main):039:2> def bar
irb(main):040:3> puts self
irb(main):041:3> puts "bar"
irb(main):042:3> end
irb(main):043:2> puts "in foo"
irb(main):044:2> bar
irb(main):045:2> end
irb(main):046:1> end
=> nil
irb(main):047:0> x = X.new
=> #<X:0x401bd5f0>
irb(main):048:0> x.foo
#<X:0x401bd5f0>
in foo
#<X:0x401bd5f0>
bar
=> nil
irb(main):049:0>
and it seems to be ok, no warning no error at least
I remember reading (but dont ask me the article)
that nested functions are not allowed in ruby
is this something that has been changed or was this always
possible?
thx, Daniel