Вызов метода класса в классе - PullRequest
16 голосов
/ 03 декабря 2008

Я понимаю, что это, возможно, наивный вопрос, но все еще не могу понять, как вызвать один метод из другого в классе Ruby.

т.е. В Ruby можно сделать следующее:

class A
   def met1
   end
   def met2
      met1 #call to previously defined method1
   end
end

Спасибо

RM

1 Ответ

25 голосов
/ 03 декабря 2008

Это не методы класса, а методы экземпляра. Вы можете вызвать met1 из met2 в вашем примере без проблем, используя экземпляр класса:

class A
   def met1
     puts "In met1"
   end
   def met2
      met1
   end
end

var1 = A.new
var1.met2

Вот эквивалент с использованием методов класса, которые вы создаете, добавляя префикс имени метода к имени класса:

class A
   def A.met1
     puts "In met1"
   end
   def A.met2
      met1
   end
end

A.met2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...