Библиотека knigago >> Компьютеры: Разработка ПО >> Программирование: прочее >> Быстрый курс Ruby

Александр Неткачев - Быстрый курс Ruby

Быстрый курс Ruby
Книга - Быстрый курс Ruby.  Александр Неткачев  - прочитать полностью в библиотеке КнигаГо
Название:
Быстрый курс Ruby
Александр Неткачев

Жанр:

Самиздат, сетевая литература, Учебники и самоучители по компьютеру, Литература ХXI века (эпоха Глобализации экономики), Linux, Windows, Программирование: прочее, Ruby

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Быстрый курс Ruby"

Курс ориентирован на читателей, которые уже знают какой-либо язык программирования и понимают магию, с помощью которой из набора разрозненных операторов получается нечто действительно полезное. Поэтому курс сокращен до предела и организован в виде блоков "задача — решение". Блоки сгруппированы в тематические разделы.

Читаем онлайн "Быстрый курс Ruby". [Страница - 2]

стр.
отработало, значит все получилось. Если нет, обращайтесь, поможем, чем сможем.

Установка книги "Programming Ruby: The Pragmatic Programmers' Guide"

Авторы: Dave Thomas и Andrew Hunt

$ emerge dev-ruby/programming-ruby

Примечание: новая редакция книги находится на сайте phrogz.net

MySQL расширение для Ruby

$ emerge dev-ruby/mysql-ruby

Windows

Для установки в Windows достаточно скачать один из вариантов Ruby с http://ftp.ruby-lang.org/pub/ruby/binaries/ (я выбрал mswin32/ruby-1.8.1-20040402-i386-mswin32.zip). Далее распаковать и проставить правильно пути к директориям. Можно также воспользоваться пакетом автоматической установки RubyInstaller

Определить правильность установки поможет команда

C: \>ruby --help

Инструментарий языка

Управляющие структуры

if в несколько строк

if 1 > b

#…

elsif a == 1

#…

else

#…

end

if в одну строку

if 1 > b then 1 else 2 end

case

case node.type

when node.DocumentNode then

#…

else

#…

end

Постусловие

a = 1 if a > 1

Циклы

i = 1

while i < 10

puts i += 1

end


i = 1

puts i += 1 while i < 10

Использование mini-callbacks для организации циклов

Callback — это общее название, которым обозначают механизм задание части кода, который выполняется вызываемым методом. В различных технологиях используются указатели на функции (C/C++), динамический вызов функций (PHP/Perl). В Ruby задание callback можно осуществлять с помощью блоков кода. Блок передается за методом в волнистых скобках или в виде do… end. В начале блока идет перечисление параметров, с которыми он вызывается. Например |i| обозначает, что блоку передается один параметр и внутри этого блока он присваивается переменной i.

10.times { puts "I will use Google before asking questions\n" }

1.upto(3) { |i| puts "Iteration #{i}\n" }

10.downto(1) {|i| puts i}

(1..10). each {|i| puts i}

0.step(100, 10) {|i| puts i}

['January 1', 'February 23', 'March 8'].each { |holiday| p holiday }

%w{this is a test}.each{|i| p i}

Регионы

Регион используется для организации проверок и циклов. Он определяется начальным и конечным значением.

Создать регион

0..1 # 0, 1

0…4 # 0, 1, 2, 3

'a'..'f' # 'a', 'b', 'c', 'd', 'e', 'f'

Перевести регион в массив

(0..4).to_a # Result: [0, 1, 2, 3, 4]

Определить, есть ли элемент в регионе

(0..9).include?(5) или (0..9) === 5

Минимальный элемент региона

(0..9).min

Максимальный элемент региона

(0..9).max

Строки

Задание строки

str = 'asdf #{10**5}' # без вычисления

str = "asdf #{10**5}" # с вычислением, str = 'asdf 100000'

Определить длину строки

"asdf".length

Нахождение подстроки в строке

"asdf".index("s")

Массив из строки по некоторому разделителю

"asdf g h jkl;".split(" ")

Массив значений из строки

"10 11 12".scan(/\d+/)

Замена подстроки в строке

'Ruby??'.sub(/\?/, '!') > Ruby!?

'Ruby??'.sub(/(\?)\?/, '\1!') > Ruby?!

'Ruby??'.gsub(/\?/, '!') > Ruby!!

Из строки в число

"10".to_i

Посторить несколько раз строку

'-=' * 10 # -=-=-=-=-=-=-=-=-=-=

Альтернативные способы задания строк

"asdf" = %Q/asdf/

'asdf' = %q/asdf/ (вместо / может использоваться любой символ, например ~ -> %q~asdf~)

str = <<END

Некоторый текст

END

Числа

Приятной особенностью Ruby является встроенная поддержка больших чисел в вычислениях. Благодаря чему можно легко оперировать большими целыми числами. Например, можно легко вычислить, сколько зерен должен был отдать правитель изобретателю шахмат (по легенде, изобретатель попросил правителя положить на первую клетку два зернышка, на вторую 22 и так до последней, на которой было 264 зерен):

s, t = 2, 0

(1..64). each { t += s *= 2}

puts t # Результат: 73786976294838206460

Некоторые интересные возможности:

-10.abs — модуль

0xAAFF — hex

0b10010 — binary

?z — код символа

?\C-a — код Ctrl+a (?a & 0x9f)

?\M-a — код Alt+a (?a | 0x80)

?\C-\M-a — код Ctrl+Alt+a

Float object соответствует системному double

Модификаторы переменных

без модификатора — видима в текущем блоке и в подблоках

$ — глобальная

@ — переменная класса

@@ — статическая переменная класса

Первая буква --">
стр.

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.