Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обьясните пожалуйста про self 
:(
    Опции темы
Rybick
Дата 31.1.2012, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 25.7.2011

Репутация: нет
Всего: нет



пишу очень редко самые простые скриптики, вот решил разобраться посерьезней но уперся в  self  
объясните пожалуйста не как не могу понять 
PM MAIL   Вверх
k0rvin
Дата 31.1.2012, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



А в чем собственно суть вопроса? Что объяснить?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Rybick
Дата 1.2.2012, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 25.7.2011

Репутация: нет
Всего: нет



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

Это сообщение отредактировал(а) Rybick - 1.2.2012, 18:44
PM MAIL   Вверх
Torkvemada
Дата 22.2.2012, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.10.2007

Репутация: нет
Всего: нет



Чтобы понять для чего нужен self(this в с++) нужно понимать разницу между классом и обьектом.
Здесь можно прочитать подробнее там же примеры
PM MAIL   Вверх
GrayCardinal
Дата 8.3.2012, 06:36 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



нету self в ruby

ЗЫ
 можете минусовать

Добавлено через 4 минуты и 14 секунд
А... уперся... Поясню, тогда не минусуем а плюсуем.
Нефиг упираться.

Лови переменную класса
Цитата

class
      def initialize
         @var1 = "var aga"
      end     
end

нету self нету


--------------------
PM MAIL WWW   Вверх
WarHog
Дата 20.3.2012, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.10.2007
Где: Воронеж

Репутация: нет
Всего: 2



GrayCardinal, посмеялся.

Лови:
Код

class Foo
  puts self
end
# => Foo

class Foo
  def bar
    puts "I'm exist: #{self}"
  end
end
Foo.new.bar
# => I'm exist: #<Foo:0x88da3d0>

--------------------
PM MAIL   Вверх
GrayCardinal
Дата 31.3.2012, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



WarHog
Аналогично. А нах вот это собственно ?


--------------------
PM MAIL WWW   Вверх
WarHog
Дата 1.4.2012, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.10.2007
Где: Воронеж

Репутация: нет
Всего: 2



Цитата

нету self в ruby

--------------------
PM MAIL   Вверх
earthshaker
Дата 16.4.2012, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 16.4.2012

Репутация: нет
Всего: нет



Вызываю методы самого объекта внутри объекта через self. Не знаю, обязательно ли его ставить, не пробовал. А так работает. И еще так можно передать объект куда то в другие методы.

Это сообщение отредактировал(а) earthshaker - 16.4.2012, 13:01
PM MAIL   Вверх
source777
Дата 16.4.2012, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 6
Всего: 56



Цитата(earthshaker @  16.4.2012,  10:18 Найти цитируемый пост)
Не знаю, обязательно ли его ставить, не пробовал.

Не обязательно, если у тебя локальная область видимости не пересекается с областью видимости self. А если пересекается, то обязательно.
Например:
Код

class Test
  attr_accessor :param

  def initialize(param)
     self.param = param
  end
end

Test.new('!').param

Но лучше ставь. Помешать - не помешает, а к читабельности +1

Это сообщение отредактировал(а) source777 - 16.4.2012, 22:26


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1559 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.