Читаем Программирование на языке Ruby полностью

ВыражениеКомментарий
a, b = b, aМножественное (параллельное) присваивание позволяет легко обменять значения переменных
b += cПрисваивание с операцией допустимо не только для сложения (см. таблицу A.11) и эквивалентно b = b + c
a<=>b–1, 0 или 1, если a меньше, равно или больше b
c = if a < 0Оператор if-then-elsif-else-end может иметь много
b = 0elsif частей, истинность условий в каждой из которых
elsif a == 0проверяется последовательно (если условие if
b = 1части не выполнено). Выражения, вычисляемые при
elseвыполнении условий, можно размещать на той же строке
b = 2после then или двоеточия. Условный оператор возвращает
endзначение последнего вычисленного выражения
b=if 2<3:4 else 5 endПеременная b станет равна 4
b=2<3 ? 4 : 5Тернарный оператор ?: делает то же самое
b=-1; b=0 if b<0Модификатор if часто удобнее
b=-1 unless b<0 = b 1 – = bОператор unless проверяет ложность условия
b=i=0Оператор while, называемый циклом, в отличие от
c = while i < 5условного оператора не возвращает значения.
b += iВ результате выполнения данной программы переменная i
i += 1станет равна 5, b примет значение 10 (сумма всех чисел
endот 0 до 4), а переменная c – значение nil
i=1; i+=i*i while (i<9)Модификатор while сделает переменную i равной 42
i=1;i+=i until(i>10)После завершения этой программы i станет равно 16, ибо until выполняет тело цикла, пока условие ложно
s=0Неявно преобразуется в s = 0
for i in 1..3(1..3).each do |i|
s += is += i
endend


В дополнение к этому break немедленно прекращает выполнение цикла, передавая управление на следующую за ним инструкцию; redo начинает выполнять цикл или итератор сначала, но не перевычисляет условие продолжения (для цикла) и не переходит к следующему элементу коллекции (для итератора); next прерывает выполнение текущей итерации и начинает выполнение следующей; retry начинает выполнять цикл или итератор с самого начала.


Литература и гиперссылки

[1] http://www.ruby-lang.org/en – Ruby language home page.

[2] http://www.rubycentral.com/book – Гипертекстовая версия первого издания книги [3].

[3] Thomas D., Fowler C., Hunt A. Programming Ruby. The Pragmatic Programmers' Guide. Second Edition. – Dalals: The Pragmatic Bookshelf, 2004.

[4] Black D. A. Ruby for Rails. Ruby Techniques for Rails Developers. – Greenwich: Manning Publications Co., 2006.

[5] Кормен Т., Лейзерсон Ч., Ривест Р Алгоритмы. Построение и анализ. – М.: МЦНМО, 2000, 2004.

[6] http://www.main.msiu.ru – Информационный портал МГИУ.

[7] Роганов Е. А. Основы информатики и программирования: Учебник. – М.: МГИУ, ????.

[8] Роганов Е. А., Тихомиров Н. Б., Шелехов А. М. Математика и информатика для юристов: Учебник. – М.: МГИУ, 2005.

Предметный указатель


Θ-обозначение 11


LIFO 32


Matsumoto Yukihiro 5


Ruby

     # 6

     "#{expr}" 42

     "string" 42

     $* 47

     $< 47

     %Q(string) 42

     %q(string) 42

     %W(a b c) 43

     %w(a b c) 43

     ’string’  42

     ** 7

     ; 6

     ?:  14

в записи чисел 10, 42

в имени переменной 45

     FILE 47

     LINE 47

     ! 10

     ARGF 47

     ARGV 8, 47

     Array 8, 42, 43

     []  8

     [] = 45

     compact 13

     each 10

     join 11

     new 12

     size 12

     Bignum 42

     break 47

     DATA 47

     def 11

     Enumerable

     all? 10

     any? 10

     collect 11

     detect 10

     each_with_index 12

     find 10

     find_all 10

     inject 9

     inject 45

     map 11

     reject 10

     select 10

     ENV 47

     exit 10

     false 10

     Fixnum 42

     % 8

     / 8

     to_s 8

     Float 42

     for 13

     Hash 42

     if 10

     Integer

     times 45

     Kernel

     Integer 13

     puts 45

     main 45

     Math

     sqrt 11

     Matrix 15

     next 47

     Numeric

     step 13

     Object 45

     P 11

     puts 6

     Range 9, 42, 43

     redo 47

     Regexp 42

     require 15

     retry 47

Перейти на страницу:

Похожие книги

Фундаментальные алгоритмы и структуры данных в Delphi
Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет СЃРѕР±РѕР№ уникальное учебное и справочное РїРѕСЃРѕР±ие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий DelphiВ».Р' книге РїРѕРґСЂРѕР±но рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием. Р

Джулиан М. Бакнелл

Программирование, программы, базы данных