2016-03-28 5 views
2

Как я могу сделать следующий метод some_protected защищенным или закрытым? Он должен быть реализован без наследования.Как сделать защищенный метод однопользовательского метода

module Sample 
    def self.some_public 
    some_protected 
    end 

    protected 

    def self.some_protected 
    puts 'Bingo!' 
    end 
end 

Sample::some_public  # Bingo! 
Sample::some_protected # Bingo! (but expected an error that method is not accessible) 
+0

Зачем вам нужен этот метод _protected_? Не имеет большого смысла для меня при работе с методами класса. –

+0

Может быть. Что вы думаете, что вы ошибаетесь? – Kirby

+0

Чего вы хотите достичь? –

ответ

2

Работая в одном классе, возможно, самый простой.

module Sample; end 

class <<Sample 
    def some_public 
    some_protected 
    end 
    protected def some_protected 
    puts 'Bingo!' 
    end 
end 
+0

Да, похоже, это то, что мне нужно. – Kirby

 Смежные вопросы

  • Нет связанных вопросов^_^