Форум программистов, компьютерный форум, киберфорум
Наши страницы
Ruby
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
podakov
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 7
1

Что делает(обозначает) self.method?

29.11.2012, 14:16. Просмотров 1394. Ответов 2
Метки нет (Все метки)

Кто может внятно разьяснить, что такое class method или метод self.
Также что делает метод self.create_with_attributes в этом примере(если можно то опишите подробно):
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
class Animal
  attr_accessor :name
  attr_writer :color
  attr_reader :legs, :arms
  
  def self.all_species
    ['cat', 'cow', 'dog', 'duck', 'horse', 'pig']
  end
  
  def self.create_with_attributes(noise, color)
    animal = self.new(noise)
    animal.color = color
    return animal
  end
  
  def initialize(noise, legs=4, arms=0)
    @noise = noise
    @legs = legs
    @arms = arms
    puts "A new animal has been instantiated."
  end
  
  def noise=(noise)
    @noise = noise
  end
  
  def noise
    @noise
  end
  
  def color
    "The color is #{@color}."
  end
end
 
puts Animal.all_species.inspect
 
animal1 = Animal.new("Moo!", 4, 0)
animal1.name = "Steve"
puts animal1.name
animal1.color = "black"
puts animal1.color
puts animal1.legs
puts animal1.noise
 
animal2 = Animal.create_with_attributes("Quack!", "white")
puts animal2.noise
puts animal2.color
P.S. Пример из видео урока поэтому может показаться идиотским.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 14:16
Ответы с готовыми решениями:

Поясните пожалуйста, что делает етот оператор ?
def initialize(my_hash = {}) f = my_hash end Поправте если я неправ....

Undefined method `password'
при создании нового пользователя нужен пароль и подтверждение. модель я создал...

Ошибка: undefined method `each' for nil:NilClass
class User < ActiveRecord::Base belongs_to :course end Выдает ошибку...

Ошибка undefined local variable or method `channels_posts_path' for #<#<Class
Есть класс Channel class Channel &lt; ActiveRecord::Base belongs_to :user ...

Что обозначает ->
Что обозначает -&gt; ? например top -&gt;value = c;

2
RinatV
117 / 109 / 16
Регистрация: 15.05.2012
Сообщений: 325
Записей в блоге: 10
29.11.2012, 17:30 2
self это ссылка на текущий контекст, а вернее объект т.к. все в руби является объектами

Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
irb(main):004:0> class A
irb(main):005:1>   puts "form def #{self}"
irb(main):006:1>   def self.met
irb(main):007:2>     puts "from self.met #{self}"
irb(main):008:2>   end
irb(main):009:1>   def obj_met
irb(main):010:2>     puts "from obj_met #{self}"
irb(main):011:2>   end
irb(main):012:1> end   #=> nil
form def A
irb(main):013:0> A.met #=> nil
from self.met A
irb(main):014:0> A.new.obj_met #=> nil
from obj_met #<A:0x1f14240>
irb(main):015:0> x=A.new #=> #<A:0x20cd438>
irb(main):016:0> def x.x_met
irb(main):017:1>   puts "from x.x_met #{self}"
irb(main):018:1> end   #=> nil
irb(main):019:0> x.x_met #=> nil
from x.x_met #<A:0x20cd438>
irb(main):020:0>
1
podakov
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 7
29.11.2012, 17:49  [ТС] 3
спасибо помогло
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 17:49

Что обозначает запись
Читаю книгу PHP 5 в подледнике и тут появилась такая запись $$a //и такая...

Что обозначает дефис
Здрасте! Левая часть выражение: \d{3}-\d{2} обозначает, что мы ищем три цифры,...

Что обозначает mod?
сколько будет 4 mod 4? и что вообще обозначает mod?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru