Вопросы с тегом 'class-method'

Методы, вызываемые классом вместо объекта.
2
ответа

Как динамически определить метод класса, который будет ссылаться на локальную переменную снаружи?

class C end var = "I am a local var outside" C.class_eval do def self.a_class_method puts var end end Я знаю, это неверно, потому что def создал новую область. Я также знаю, что использование define_method может создать м...
задан 15.08.2010 в 14:47
4
ответа

В Ruby внутри метода класса есть сам класс или экземпляр?

Я знаю, что self является экземпляром внутри метода экземпляра. Итак, то есть self класс внутри метода класса? Например, будет ли следующая работа в Rails? class Post < ActiveRecord::Base def self.cool_post self.find_by_name("c...
задан 03.12.2010 в 21:08
7
ответов

объект 'classmethod' не вызывается

Хорошо, у меня есть этот код: class SomeClass: @classmethod def func1(cls,arg1): #---Do Something--- @classmethod def func2(cls,arg1): #---Do Something--- # A 'function map' that has function name as its k...
задан 15.06.2012 в 23:54
4
ответа

Что означает «я» в @classmethod?

Я думал, что начинаю понимать «путь Python» программирования. Методы класса принимают self в качестве первого параметра для ссылки на экземпляр класса, в контексте которого вызывается метод. Декоратор @classmethod ссылается на метод, функциональ...
задан 10.02.2009 в 18:18
1
ответ

Вызов методов класса с помощью имени класса vs self

Предположим, что у нас есть класс с именем Calculator . В нем есть метод класса, называемый runProgram . Если бы я хотел вызвать этот метод класса, внутри реализации класса, какая разница между этими двумя: [Calculator runProgram] ИЛИ...
задан 29.04.2012 в 07:30
2
ответа

почему __getitem__ не может быть методом класса?

Предположим, следующий класс: class Class(object): @classmethod def getitem(*args): print 'getitem %s' % (args,) @classmethod def __getitem__(*args): print '__getitem__ %s' % (args,) Метод getitem ведет себ...
задан 16.09.2012 в 14:56
4
ответа

Методы класса Ruby против методов в Eigenclasses

Являются ли методы и методы класса в eigenclass (или метаклассе) этого класса двумя способами, чтобы определить одну вещь? В противном случае, каковы различия? class X # class method def self.a "a" end # eigenclass method cl...
задан 18.11.2010 в 17:18
2
ответа

Безумие в металическом стиле Ruby

Я застрял. Я пытаюсь динамически определить метод класса, и я не могу обернуть голову вокруг модели метакласса ruby. Рассмотрим следующий класс: class Example def self.meta; (class << self; self; end); end def self.class_instance;...
задан 15.03.2010 в 11:38
3
ответа

Модули Ruby и расширения

В какой ситуации находится код: module M extend self def greet puts "hello" end end более полезно использовать над чем-то вроде: module M def self.greet puts "hello" end end В верхней части, один - это метод...
задан 29.07.2010 в 00:24
3
ответа

Зачем использовать classmethod вместо staticmethod? [Дубликат]

Я знаю, что они делают, и я видел много примеров обоих, но я не нашел ни одного примера, где мне пришлось бы использовать classmethod вместо того, чтобы заменить его на staticmethod . Самый распространенный пример classmethod , котор...
задан 23.04.2013 в 16:36