Сегодня был еще один день рефакторинга проекта/освежения JavaScript, и я потратил еще немного времени на подготовку к завтрашнему запуску Ruby. Было интересно узнать больше о том, чем отличаются JS и Ruby и как определенные вещи, которые довольно сложны для написания и выполнения в JS, можно сделать довольно просто с помощью нескольких фрагментов кода. Некоторые из тем, которые я рассмотрел сегодня, включают:

НАСЛЕДСТВО:

Концепция наследования относится к повторному использованию и переназначению существующего кода. Вместо того, чтобы переписывать один и тот же метод для нескольких объектов, вы можете написать его один раз в своей программе и передать его через несколько объектов.

В JavaScript система наследования основана на прототипах (экземплярах объектов), и проводится различие между функциями-конструкторами, используемыми для создания новых экземпляров, и объектом-прототипом, от которого наследуется экземпляр.

Ruby Inheritance основан на «классах» — объектах, представляющих экземпляры класса. Класс используется для создания новых объектов экземпляров и служит объектом, от которого экземпляры могут наследовать методы и данные.

ФУНКЦИИ:

Скобки часто необязательны в Ruby — это абсолютно не так в JavaScript — и требуются только тогда, когда методы принимают параметры. Это означает, что вам не нужно использовать круглые скобки, даже когда вы вызываете функцию. Почувствуйте, что это может занять у меня немного времени, чтобы привыкнуть к распознаванию и вызову функций без контрольного ( ), с которым мы привыкли работать в JavaScript.

ПЕРЕМЕННЫЕ:

В отличие от JavaScript, в Ruby при создании новой переменной не используются такие ключевые слова, как «var», «let» или «const». Вы бы просто написали cards = [12, 3, 73, 4] в свой REPL, и команда привела бы к новой переменной с именем «карта», которая содержит массив чисел.

Если вы хотите проверить, что такое переменная, вы можете просто ввести имя переменной (например, cards), и консоль выведет [12, 3, 73, 4]. Массив переменных может иметь метод, прикрепленный к концу для выполнения какого-либо действия (например, cards.sort — вернет ваш существующий массив cards в порядке номеров [3, 4, 12, 73]. Вы можете распечатать это в своем REPL, чтобы увидеть вывод, или вы можете добавить ! после метода, и ваша переменная будет изменена и сохранена в выходных данных метода.

Сегодня вечером я постараюсь лечь спать пораньше, чтобы освежиться и быть готовым к завтрашнему дню с Руби!

Песня дня: Down Low Алекса Уинстона