Как перевести скрипты в плагины
В этой теме я буду выкладывать некие "шаблоны", с помощью которых можно перевести скрипты в плагины. Или хотя бы научиться читать код.
Определение класса
Ruby
JS
Определение класса с наследованием
Ruby
JS
Определение класса с наследованием + использование конструктора нового класса
Ruby
JS
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Ruby
JS
Тоже самое, но с параметрами
Ruby
JS
Переменная класса
Ruby
JS
Alias функций (дополнение функций)
Ruby
JS
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Этот код не имеет смысла, т.к. в любом рубе классе есть пустой конструктор.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Iren_Rin пишет: Этот код не будет работать, call вызывается у объекта функции, а у не протатипа.
Code:ClassName1.prototype.call(this); // именно эта функция
Этот код не имеет смысла, т.к. в любом рубе классе есть пустой конструктор.Code:class ClassName < ClassName1 def initialize end end #Это тоже самое что и class ClassName < ClassName1 end
Спасибо. В первом случае забыл дописать функцию. [strike]А во втором просто указал, что пишем различные функции[/strike]. Сейчас исправлю оригинал
UPD. Если не написать пустой initialize, то будет использоваться метод из родительского класса. А этот код относится к разделу "использование конструктора нового класса"
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Ruby
JS
times
Ruby
JS
Отсутствие объекта (nil в ruby, null в js)
Ruby
JS
Вернуть значение из функции
Ruby
JS
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
- Сообщений: 1640
- Спасибо получено: 1080
2. Укажи что times есть только у чисел, а то кто нибудь вдруг пойдёт строку так перебирать)
3. Вроде верно)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
strelokhalfer пишет: 1. У тебя метод объекта, метод класса есть с self.
2. Укажи что times есть только у чисел, а то кто нибудь вдруг пойдёт строку так перебирать)
3. Вроде верно)
Поясни на счет первого, не очень понял. Завтра второй пункт поправлю или ты поправь. Тыжмодератор)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
- Сообщений: 1640
- Спасибо получено: 1080
window = window_base.new
window.setskin("System\window.png) #def setskin
Пс. Прав нет)
4. Да, в руби можно не указывать ретурн, но это плохой вкус)
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
EvilCat пишет: Что такое "отсутствие объекта"? Когда оно используется (в Яваскрипте)?
Нулевое, пустое значение объекта
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
- Сообщений: 1640
- Спасибо получено: 1080
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Почему?strelokhalfer пишет: Кстати, лучше не использовать в примерах initiliase
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
- Сообщений: 1640
- Спасибо получено: 1080
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
strelokhalfer пишет: Ну, метод конструктор, лучше брать абстрактные Foo Bar
Ну ладно, буду использовать их. Хотя с конструкторами тоже надо работать
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
DK пишет: Нулевое, пустое значение объекта
Не понятно в разрезе Яваскрипта...
В C# и VB, языках со строгой типизацией, у переменных, объявленных как "объект", может быть значение "отсутствие объекта" (null и Nothing соответственно).
В Руби всё является объектом, соответственно, у любого имени можно спросить: nil? Но по правде говоря, я не знаю, когда это применяется, не настолько много работала с Руби.
Но с Яваскриптом я работала много... Там отсутствие объекта (например, ты искал в неё элемент веб-страницы, а он не нашёлся, вернулось false или null) определяется просто по условию самого объекта:
В Яваскрипте любой объект считается за истинное условие (следует заметить, что не любое значение считается объектом, в отличие от Руби!), а undefined, null, 0 и ряд других значений - ложными. Соответственно, если ожидаешь объект, то существование объекта проверяют просто условием - это надёжно.
Вообще в Яваскрипте редко различают undefined и null, почти что только в опциональных аргументах. Но если аргумент в любом случае не может принять ложных значений, допустимых в функции, то пишут просто: arg = arg || значение_по_умолчанию.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Постараюсь получше описатьEvilCat пишет: Поэтому-то и не понятно, что такое "отсутствие объекта"... undefined, 99 или строка "мяу" - тоже отсутствие объекта.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
