summaryrefslogtreecommitdiffhomepage
path: root/ru-ru/ruby-ru.html.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'ru-ru/ruby-ru.html.markdown')
-rw-r--r--ru-ru/ruby-ru.html.markdown39
1 files changed, 21 insertions, 18 deletions
diff --git a/ru-ru/ruby-ru.html.markdown b/ru-ru/ruby-ru.html.markdown
index baa5e8b5..0a8fbb09 100644
--- a/ru-ru/ruby-ru.html.markdown
+++ b/ru-ru/ruby-ru.html.markdown
@@ -1,13 +1,14 @@
---
language: ruby
+lang: ru-ru
filename: learnruby-ru.rb
contributors:
- - ["David Underwood", "http://theflyingdeveloper.com"]
- - ["Joel Walden", "http://joelwalden.net"]
- - ["Luke Holder", "http://twitter.com/lukeholder"]
- - ["Tristan Hume", "http://thume.ca/"]
- - ["Nick LaMuro", "https://github.com/NickLaMuro"]
- - ["Alexey Makarov", "https://github.com/Anakros"]
+ - ["David Underwood", "http://theflyingdeveloper.com"]
+ - ["Joel Walden", "http://joelwalden.net"]
+ - ["Luke Holder", "http://twitter.com/lukeholder"]
+ - ["Tristan Hume", "http://thume.ca/"]
+ - ["Nick LaMuro", "https://github.com/NickLaMuro"]
+ - ["Alexey Makarov", "https://github.com/Anakros"]
---
```ruby
@@ -87,7 +88,7 @@ puts "Я печатаюсь!"
x = 25 #=> 25
x #=> 25
-# Присваивание значения возвращает присвоенное значение
+# Присваивание значения возвращает то самое присвоенное значение.
# Это позволяет делать множественные присваивания:
x = y = 10 #=> 10
@@ -150,7 +151,7 @@ array[1..3] #=> [2, 3, 4]
# Вот так можно добавить значение в массив
array << 6 #=> [1, 2, 3, 4, 5, 6]
-# Хэши -- это массив пар ключ => значение.
+# Хэши -- это массив пар "ключ => значение".
# Хэши объявляются с использованием фигурных скобок:
hash = {'color' => 'green', 'number' => 5}
@@ -160,7 +161,7 @@ hash.keys #=> ['color', 'number']
hash['color'] #=> 'green'
hash['number'] #=> 5
-# Поиск по ключу, которого в хэше нет, вернёт nil:
+# Поиск по ключу, которого в хэше нет вернёт nil:
hash['nothing here'] #=> nil
# начиная с Ruby 1.9, существует специальный синтаксис
@@ -200,7 +201,8 @@ end
# "for" не имеет своей области видимости и все переменные, объявленные в нём
# будут доступны отовсюду. "each" вместе с блоком создаёт свою область видимости.
-# Метод "each" для диапазона значений запускает блок кода один раз для каждого из значений диапазона
+# Метод "each" для диапазона значений запускает блок кода один раз
+# для каждого из значений диапазона
# Блок передаёт счётчик (counter) в качестве параметра.
# Вызов метода "each" с блоком выглядит следующим образом:
@@ -295,18 +297,19 @@ surround { puts 'hello world' }
# Определение класса с помощью ключевого слова "class"
class Human
- # Переменная класса, она является общей для всех экземпляров класса
+ # Переменная класса, она является общей для всех экземпляров класса
@@species = "H. sapiens"
# Базовый метод-конструктор
def initialize(name, age=0)
- # Присвоить аргумент "name" переменной "name" экземпляра класса
+ # Присвоить аргумент "name" переменной "name" экземпляра класса
@name = name
- # Если аргумент "age" не задан, мы используем значение по умолчанию из списка аргументов
+ # Если аргумент "age" не задан,
+ # мы используем значение по умолчанию из списка аргументов
@age = age
end
- # Базовый метод установки значения для переменной (setter)
+ # Базовый метод установки значения для переменной (setter)
def name=(name)
@name = name
end
@@ -316,9 +319,9 @@ class Human
@name
end
- # Метод класса определяется с ключевым словом "self",
- # чтобы можно было отличить его от метода экземпляра класса.
- # Он может быть вызван только на уровне класса, не экземпляра.
+ # Метод класса определяется с ключевым словом "self",
+ # чтобы можно было отличить его от метода экземпляра класса.
+ # Он может быть вызван только на уровне класса, но не экземпляра.
def self.say(msg)
puts "#{msg}"
end
@@ -335,7 +338,7 @@ jim = Human.new("Jim Halpert")
dwight = Human.new("Dwight K. Schrute")
-# Давайте вызовем несколько методов этого класса
+# Давайте вызовем несколько методов
jim.species #=> "H. sapiens"
jim.name #=> "Jim Halpert"
jim.name = "Jim Halpert II" #=> "Jim Halpert II"