Как и обещал – буду двигаться в изучении основ Ruby с небольшими отчётами-переводами того материала, что есть. Сразу скажу – я не претендую на роль учителя, так как сам нужными знаниями не обладаю.
На днях приняли на работу в студию нового программиста, который специализируется именно на Ruby on Rails – надеюсь, что смогу какой-то опыт перенять у него. Завтра вроде должен выйти.
Первая часть, установка ruby (под Windows и Linux в моём случае), была скорее компиляцией из прочитанного и опробованного. Надеюсь, что проблем с установкой ни у кого не возникло.
Но одной установкой сыт не будешь. Нужно начинать пробовать. Трогать, прикасаться к тому, что кроется за этим красным рубиновым логотипом.
Итак, предполагая, что Ruby вы установили – начинаем.
Интерактивный интерпретатор Ruby
Ruby поставляется с программой IRB, которая на лету выполняет каждую команду, которую вы введёте. Играя с irb, пробуя на вкус разные конструкции можно легко усвоить то, что происходит в вашей программе.
Откройте IRB
- Если вы маковод – в консоли вводите irb и жмите ENTER
- Если вы под линуксом – открывайте ваш любимый shell, вводите irb и тоже жмите ENTER
- В Windows такой способ тоже работает, но удобнее запустить из группы Ruby в меню Пуск программу fxri
irb(main):001:0>
Хорошо, открыли. Что дальше?
Введите: “Hello, World!” (С этого всегда начинают знакомство с новым языком программирования, так уж повелось).
irb(main):001:0> “Hello World”
=> “Hello World”
Ruby слушается вас!
Удивительно! Неужели это самая короткая “Hello world”-программа в мире?? Не совсем так. Вторая строка – это скорее отображение результата последнего выражения. То есть Ruby сообщает вам результат последнего выражения. Если же вы действительно хотите вывести на экран это приветствие, то код будет таким:
irb(main):002:0> puts “Hello World”
Hello World
=> nil
puts является основной командой для вывода в Ruby. А что же такое nil? Nil – это результат выражения. Наш puts ничего не возвращает после выполнения. Единственный его результат – это вывод на экран.
Ваш бесплатный калькулятор
Ну это совсем просто. Пробуйте
irb(main):003:0> 3+2
=> 5
Три плюс два. Результат 5. Очень просто. А что если вы хотите умножить 3 на 2? Выражение короткое и ввести его не составит труда, но проще будет нажать стрелку “вверх”, в строке ввода появится предыдущее выражение и вы его можете легко исправить. Для тех, кто привык работать в консоли – это прописные истины.
irb(main):004:0> 3*2
=> 6
Теперь попробуем вычислить три в квадрате:
irb(main):005:0> 3**2
=> 9
** в ruby – это метод для возведения в степень. А что если вы теперь хотим извлечь корень числа?
irb(main):006:0> Math.sqrt(9)
=> 3.0
Стоп. что это было? То, что мы вывели квадратный корень из 9 – это понятно. Но что такое Math?
Модули
Math встроенный модуль для математических выражений. Модули могут применяться в Ruby по-разному. И это основное применение: группировка аналогичных методы объединённых общим названием. Math – математический модуль и включает помимо sqrt() такие методы, как sin() и tan().
Далее идёт точка. Что она значит? Точка предшествует тому методу, который мы хотим вызвать. Тому методу, который получит передаваемый ему параметр. Параметр заключен в круглые скобки (хотя в ruby это необязательно). То есть мы вызвали метод sqrt и передали ему значение 9. Говоря по-русски – приказали выделить квадратный корень из 9.
В результате получили 3.0. Почему не просто 3? Дело в том, что квадратный корень в большинстве случаев возвращает не целое число и соответственно, разработчики предусмотрели этот момент, возвращая число с плавающей точкой.
А что если мы хотим сохранить результат какого-либо выражения? Сохраним его в переменную. Далее переменная может быть использована как то, на что ока указывает. Простой пример:
irb(main):007:0> a = 3 ** 2
=> 9
irb(main):008:0> b = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b) => 5.0
Вообщем, мы очень даже неплохо ушли от традиционного “Привет, мир” к калькулятору
Продолжение будет дальше. (Пока по материалам сайта http://www.ruby-lang.org/en/)
Если не хотите пропустить следующие темы – подписывайтесь на мой RSS-канал, это удобно и прогрессивно )
Если вам понравилось или вы плюётесь от текущей серии постов – просто отметьтесь в комментариях.
Постовой(то бишь реклама):
А это реально то, к чему стоит стремиться. Рано или поздно и я туда попаду. отдых в оаэ
Чтобы читать такие простенькие руководства, как в этом посте – английский онлайн. Читай в оригинале.
Объявления о покупке – здесь, оставьте свои бумажные версии![]()





WOLF BESPREDEL | Ноя 24, 2009 | Ответить
Вот чем ты второй день на работе занимаешься, что тебя не слышно, не видно
bizon | Ноя 24, 2009 | Ответить
не,я переводил не на работе )) на работе я работаю.