× Темы

Примеры ruby

0

Определение простого класса в теле модуля.
Метод .to_s используется при отображении экземпляра класса.

module OurKlass
class User
@@count = 0 # class var.
# class method.
def self.count
@@count
end
def initialize( name, age )
@name = name # instance var.
@age = age
@@count += 1
@id += 1
end
# instance method.
def to_s
"#{@name}: #{@age} years old"
end
end # class User.
end # module.


Создание экземпляра класса. Метод .to_a еще не определен.

user = OurKlass::User.new "Timmy", 22 # -> "Timmy: 22 years old"
OurKlass::User.count # -> 1
user.to_a # -> error!


Определение метода .to_a.

class OurKlass::User
def to_a
[ @name, @age ]
end
end
user.to_a # -> ["Timmy", 22]


Различные способы определения метода класса.

class OurKlass::User
def self.next_count
@@count + 1
end
end
OurKlass::User.next_count # -> 2
class OurKlass::User
class << self
def prepend_count
@@count - 1
end
end
end
OurKlass::User.prepend_count # -> 0


Определение собственного метода объекта. При переопределении перемен-
ной для нового объекта метод определен уже не будет.

class << user
def id
@id
end
end
user.id # -> 1
user = OurKlass::User.new "Tommy", 33 # -> "Tommy: 33 years old"
user.id # -> error!
все для dleфильмы и сериалы онлайн hdавтоматический обмен webmoney на приват24android игры, приложения, инструкции, обзоры



Оценить статью