[#44036] [ruby-trunk - Feature #6242][Open] Ruby should support lists — "shugo (Shugo Maeda)" <redmine@...>

20 messages 2012/04/01

[#44084] [ruby-trunk - Bug #6246][Open] 1.9.3-p125 intermittent segfault — "jshow (Jodi Showers)" <jodi@...>

22 messages 2012/04/02

[#44156] [ruby-trunk - Feature #6265][Open] Remove 'useless' 'concatenation' syntax — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

45 messages 2012/04/06

[#44163] [ruby-trunk - Bug #6266][Open] encoding related exception with recent integrated psych — "jonforums (Jon Forums)" <redmine@...>

10 messages 2012/04/06

[#44303] [ruby-trunk - Feature #6284][Open] Add composition for procs — "pabloh (Pablo Herrero)" <pablodherrero@...>

57 messages 2012/04/12

[#44349] [ruby-trunk - Feature #6293][Open] new queue / blocking queues — "tenderlovemaking (Aaron Patterson)" <aaron@...>

10 messages 2012/04/13

[#44402] [ruby-trunk - Feature #6308][Open] Eliminate delegation from WeakRef — "headius (Charles Nutter)" <headius@...>

20 messages 2012/04/17

[#44403] [ruby-trunk - Feature #6309][Open] Add a reference queue for weak references — "headius (Charles Nutter)" <headius@...>

15 messages 2012/04/17

[#44533] [ruby-trunk - Bug #6341][Open] SIGSEGV: Thread.new { fork { GC.start } }.join — "rudolf (r stu3)" <redmine@...>

24 messages 2012/04/22

[#44630] [ruby-trunk - Feature #6361][Open] Bitwise string operations — "MartinBosslet (Martin Bosslet)" <Martin.Bosslet@...>

31 messages 2012/04/26

[#44648] [ruby-trunk - Feature #6367][Open] #same? for Enumerable — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

16 messages 2012/04/26

[#44704] [ruby-trunk - Feature #6373][Open] public #self — "trans (Thomas Sawyer)" <transfire@...>

61 messages 2012/04/27

[#44748] [ruby-trunk - Feature #6376][Open] Feature lookup and checking if feature is loaded — "trans (Thomas Sawyer)" <transfire@...>

13 messages 2012/04/28

[ruby-core:44338] [ruby-trunk - Feature #6287][Assigned] nested method should only be visible by nesting/enclosing method

From: "mame (Yusuke Endoh)" <mame@...>
Date: 2012-04-13 13:58:50 UTC
List: ruby-core #44338
Issue #6287 has been updated by mame (Yusuke Endoh).

Description updated
Status changed from Open to Assigned
Assignee set to matz (Yukihiro Matsumoto)
Target version changed from 2.0.0 to 3.0

Hello,

There is a similar proposal #4085 based on more general idea.


Below is my personal opinion.

Ruby's def statement is not a static definition, but a dynamic
execution that defines a method in the context.  This design
allows you to define a method that is defined in some condition:

  if windows?
    def foo
    end
  end

, singleton methods for each element in an array:

  ary.each do |elem|
    def elem.foo
    end
  end

, and so on.
In the same manner, a "nested" method definition you said:

  def define_foo
    def foo
    end
  end

should define a method named "define_foo" that defines a method
named "foo."  I think it is consistent.

-- 
Yusuke Endoh <mame@tsg.ne.jp
----------------------------------------
Feature #6287: nested method should only be visible by nesting/enclosing method
https://bugs.ruby-lang.org/issues/6287#change-25883

Author: botp (bot pena)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 3.0


> def test1
  def test2
    p "i am test2"
  end
  test2
  end

 
>  test1
  "i am test2"  # ok

>  test2   
  "i am test2"  # not ok (imho), this should fail; ie test2 should only be visible by test1, not by outside.





-- 
http://bugs.ruby-lang.org/

In This Thread