Следующие два кода Ruby и Python являются примерами методов класса. Почему python разрешает доступ к методам класса через объекты, но рубин не работает?Методы класса Python vs Ruby
код Python
class student:
b = 78
@classmethod
def foo(var):
return var.b
z = student()
print z.foo() # => 78
рубин Код
class Student
@@b = 78
def self.foo
@@b
end
end
z = Student.new
puts z.foo # => -e:20:in `<main>': undefined method `foo' for #<Student:0x007ff4f98ab9e8> (NoMethodError)
Ваш вопрос сводится к «почему разные языки на самом деле разные?» Потому что они разные языки ...? – kindall
@kindall на самом деле я просто хочу знать, есть ли какая-то конкретная причина или нет. –
В рубине вы можете использовать 'puts z.class.foo' – knut