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


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 2082, книга: Параноидальные заметки
автор: Дмитрий PAIN

Я прочёл «Параноидальные заметки» Дмитрия PAIN'а, и это было поистине незабываемое впечатление. В своем самоизданном сборнике стихов автор выходит за рамки обыденного, затягивая читателя в круговорот мрачных, параноидальных мыслей. Каждое стихотворение — это исповедь терзаемой души, отражающая глубоко укоренившуюся тревогу и недоверие к миру. С помощью пронзительных образов и резких метафор PAIN исследует темы одиночества, отчуждения и хрупкости человеческой природы. Особенно примечательны...

СЛУЧАЙНАЯ КНИГА

Анна Франк. Преданная. Джерард Кремер
- Анна Франк. Преданная

Жанр: Военная проза

Год издания: 2022

Серия: Холокост. Правдивая история

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

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

Жанр:

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

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

неизвестно

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

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

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

Рейтинг:

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

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

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

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

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

стр.
заглавная — константа или имя класса

Массивы

Нумерация массивов начинается с нулевого элемента. Отрицательный индекс — обратная нумерация. В отличие от PHP, массив — это последовательность из N элементов. Поэтому если a = [1, 2] и задается значение a[4] = 10, то в результате получаем массив [1, 2, nil, nil, 10].

Создать массив

a = []

a = Array.new

a = ["asdf", "g", "h", "jkl;"]

Новый массив из фразы

a = %w{Ruby is a best language}

a = "Ruby is a best language".split(" ")

Выбрать часть массива

a = [1, 2, 3, 4, 5]

a[2, 2] # [3, 4]

a[1..3] # [2, 3, 4]

a[1…3] # [2, 3]

Изменить массив

a = [1, 2, 3, 4, 5]

a[1,2] = [] # a = [1, 4, 5]

a[0,1] = 3 # a = [3, 4, 5]

a[0,1] = [1, 2, 3] # a = [1, 2, 3, 4, 5]

Полезные методы

a.length # длина массива

a.shift # "вынуть" (вернуть и удалить) первый элемент

a.pop # "вынуть" последний элемент

Хеши (ассоциативные массивы)

Создать хеш

h = {'hash' => '{}', 'array' => '[]'}

h['hash'] = "{'key' => 'value'}"

Найти элемент по условию

р.find { |item| item.name == 'hash' }

Регулярные выражения

Создать выражение

r = Regexp.new('/a(b)c/')

r = /a(b)c/

r = %r{a(b)c}

Применить выражение в условии

str = "Ruby is OOP language"

puts $1 if str =~ /(OOP)/

puts str unless str!~ /OOP/

Специальные переменные

$1..$9 — найденные группы

$& — текст, найденный по шаблону

$` — текст до шаблона

$' — текст после шаблона

Использование объекта вместо специальных переменных

m = /(a)(b)(c)/.match('abcdefg')

m[0] > $&

m[1] > $1

m.pre_match > $`

m.post_match > $'

Callbacks

yield

def doSomething

 yield

end

doSomething { puts "It is a something:-)" }


def doSomethingWithParams

 yield 1

end

doSomethingWithParams do

|i| puts "It is a something with #{i}:-)"

end

Определить, что методу передан callback

if block_given?

 yield

end

Блоки кода как объекты

def doSomething(&callback)

 callback.call

end

doSomething { print "This is a something" }


def doSomething(callback)

 callback.call

end

doSomething proc { print "This is a something" }

Разименовать блок кода для yield-применения

p = proc {|i| print i}

(1..10).each &p

Ввод/Вывод

puts — выводит строку

print — выводит строку без \n в конце

printf — аналогичен C printf

gets — помещает результат ввода строки данных в переменную $_ и возвращает строку

Методы

Значение по умолчанию для параметра

def myMethod(value = "Default")

Все или часть параметров поместить в массив

def myMethod(*args)

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

myMethod(*[1, 2])

Вызов метода с использованием именованых параметров

myMethod('param2' => 1, 'param1' => 2)

Классы

конструктор

def initialize

Создание объекта

MyClass.new

Клонирование объекта

myClass.dup

"Заморозка" (нельзя изменять не "разморозив") объекта

myClass.freeze

dump объекта

myClass.inspect

Cтроковый идентификатор объекта

myClass.to_s

Вызов аналогичного метода parent класса

super

Задание readonly свойств/аттрибутов

attr_reader: documentUri

Задание writeonly свойств

def documentUri=(documentUri)

 @documentUri = documentUri

end

Задание static переменной класса

@@users

Задание static метода класса

class Page

 def Page.addHit

  @@hit += 1

 end

end

Модификаторы области видимости

[public|protected|private]

def…

def…

или

private: myMethod1,myMethod2

Модификатор области видимости для унаследованного метода

private_class_method: new

Переопределение операций

class NodeList

 def +(newNode)

  #…

 end

end

Исключения

begin

 #…

rescue ExceptionClass

 #…

rescue ExceptionClass => e

 #…

ensure

 #…

end

аналогичен Java коду:

try {

//…

} catch (ExceptionClass) {

//…

} catch (ExceptionClass e) --">
стр.

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


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