КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 712669 томов
Объем библиотеки - 1401 Гб.
Всего авторов - 274519
Пользователей - 125063

Новое на форуме

Новое в блогах

Впечатления

Влад и мир про Шенгальц: Черные ножи (Альтернативная история)

Читать не интересно. Стиль написания - тягомотина и небывальщина. Как вы представляете 16 летнего пацана за 180, худого, болезненного, с больным сердцем, недоедающего, работающего по 12 часов в цеху по сборке танков, при этом имеющий силы вставать пораньше и заниматься спортом и тренировкой. Тут и здоровый человек сдохнет. Как всегда автор пишет о чём не имеет представление. Я лично общался с рабочим на заводе Свердлова, производившего

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
Влад и мир про Владимиров: Ирландец 2 (Альтернативная история)

Написано хорошо. Но сама тема не моя. Становление мафиози! Не люблю ворьё. Вор на воре сидит и вором погоняет и о ворах книжки сочиняет! Любой вор всегда себя считает жертвой обстоятельств, мол не сам, а жизнь такая! А жизнь кругом такая, потому, что сам ты такой! С арифметикой у автора тоже всё печально, как и у ГГ. Простая задачка. Есть игроки, сдающие определённую сумму для участия в игре и получающие определённое количество фишек. Если в

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
DXBCKT про Дамиров: Курсант: Назад в СССР (Детективная фантастика)

Месяца 3-4 назад прочел (а вернее прослушал в аудиоверсии) данную книгу - а руки (прокомментировать ее) все никак не доходили)) Ну а вот на выходных, появилось время - за сим, я наконец-таки сподобился это сделать))

С одной стороны - казалось бы вполне «знакомая и местами изьезженная» тема (чуть не сказал - пластинка)) С другой же, именно нюансы порой позволяют отличить очередной «шаблон», от действительно интересной вещи...

В начале

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
DXBCKT про Стариков: Геополитика: Как это делается (Политика и дипломатия)

Вообще-то если честно, то я даже не собирался брать эту книгу... Однако - отсутствие иного выбора и низкая цена (после 3 или 4-го захода в книжный) все таки "сделали свое черное дело" и книга была куплена))

Не собирался же ее брать изначально поскольку (давным давно до этого) после прочтения одной "явно неудавшейся" книги автора, навсегда зарекся это делать... Но потом до меня все-таки дошло что (это все же) не "очередная злободневная" (читай

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
DXBCKT про Москаленко: Малой. Книга 3 (Боевая фантастика)

Третья часть делает еще более явный уклон в экзотерику и несмотря на все стсндартные шаблоны Eve-вселенной (базы знаний, нейросети и прочие девайсы) все сводится к очередной "ступени самосознания" и общения "в Астралях")) А уж почти каждодневные "глюки-подключения-беседы" с "проснувшейся планетой" (в виде галлюцинации - в образе симпатичной девчонки) так и вообще...))

В общем герою (лишь формально вникающему в разные железки и нейросети)

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).

Быстрый курс Ruby [Александр Неткачев] (fb2) читать постранично, страница - 2


 [Настройки текста]  [Cбросить фильтры]

установки в 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

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

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

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

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

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

Первая буква заглавная — константа или имя класса

Массивы

Нумерация массивов начинается с нулевого элемента. Отрицательный индекс — обратная нумерация. В отличие от PHP, массив — это