Skip to content

Commit d9ec129

Browse files
authored
Updated code blocks and Russian text to match newer versions of Ruby. (#3312)
Also made stylistic and punctuation corrections for the Russian translation.
1 parent 4717aa8 commit d9ec129

File tree

18 files changed

+80
-78
lines changed

18 files changed

+80
-78
lines changed

bg/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ irb(main):043:0> g.respond_to?("to_s")
9797
irb(main):044:0> class Greeter
9898
irb(main):045:1> attr_accessor :name
9999
irb(main):046:1> end
100-
=> nil
100+
=> [:name, :name=]
101101
{% endhighlight %}
102102

103103
В Ruby лесно може да отворим класа отново за модификация. Промените ще

de/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ die Variablen eines Objekts zu gewähren.
104104
irb(main):044:0> class Greeter
105105
irb(main):045:1> attr_accessor :name
106106
irb(main):046:1> end
107-
=> nil
107+
=> [:name, :name=]
108108
{% endhighlight %}
109109

110110
In Ruby kann man eine Klasse jederzeit verändern. Die Änderungen werden

en/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ provides an easy way of providing access to an object’s variables.
102102
irb(main):044:0> class Greeter
103103
irb(main):045:1> attr_accessor :name
104104
irb(main):046:1> end
105-
=> nil
105+
=> [:name, :name=]
106106
{% endhighlight %}
107107

108108
In Ruby, you can reopen a class and modify it. The changes will

es/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ una forma fácil para permitir acceder a las variables de un objeto.
104104
irb(main):044:0> class Anfitrion
105105
irb(main):045:1> attr_accessor :nombre
106106
irb(main):046:1> end
107-
=> nil
107+
=> [:nombre, :nombre=]
108108
{% endhighlight %}
109109

110110
En Ruby, puedes volver a abrir una clase y modificarla. Eso no cambia

fr/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ pour accéder aux variables d’instances :
111111
irb(main):044:0> class Greeter
112112
irb(main):045:1> attr_accessor :name
113113
irb(main):046:1> end
114-
=> nil
114+
=> [:name, :name=]
115115
{% endhighlight %}
116116

117117
Il semblerait que nous ayons défini une seconde fois la classe

id/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Ruby menyediakan cara yang mudah untuk mengakses variabel objek.
106106
irb(main):044:0> class Greeter
107107
irb(main):045:1> attr_accessor :name
108108
irb(main):046:1> end
109-
=> nil
109+
=> [:name, :name=]
110110
{% endhighlight %}
111111

112112
Di Ruby, Anda dapat membuka lagi sebuah kelas dan memodifikasi kelas tersebut.

it/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ per permetterci di accedere alle variabili di un oggetto.
101101
irb(main):044:0> class PersonaCordiale
102102
irb(main):045:1> attr_accessor :nome
103103
irb(main):046:1> end
104-
=> nil
104+
=> [:nome, :nome=]
105105
{% endhighlight %}
106106

107107
In Ruby, puoi aprire una classe e modificarla. I cambiamenti vengono

ja/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ Rubyはオブジェクトの変数にアクセスできる簡単な方法を用
104104
irb(main):044:0> class Greeter
105105
irb(main):045:1> attr_accessor :name
106106
irb(main):046:1> end
107-
=> nil
107+
=> [:name, :name=]
108108
{% endhighlight %}
109109

110110
Rubyでは、定義されたクラスをさらに変更できます。

ko/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Ruby는 객체 변수를 접근하게 해주는 편리한 방법을 제공하고
9494
irb(main):044:0> class Greeter
9595
irb(main):045:1> attr_accessor :name
9696
irb(main):046:1> end
97-
=> nil
97+
=> [:name, :name=]
9898
{% endhighlight %}
9999

100100
Ruby에서는 클래스를 언제나 열어서 정의를 변경할 수 있습니다.

pl/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ nam łatwy dostępn do zmiennych obiektu.
101101
irb(main):044:0> class Greeter
102102
irb(main):045:1> attr_accessor :name
103103
irb(main):046:1> end
104-
=> nil
104+
=> [:name, :name=]
105105
{% endhighlight %}
106106

107107
W Rubim możesz ponownie otworzyć klasę i zmodyfikować ją. To nie zmienia

pt/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ de fornecer acesso às variáveis de um objeto.
105105
irb(main):044:0> class Anfitriao
106106
irb(main):045:1> attr_accessor :nome
107107
irb(main):046:1> end
108-
=> nil
108+
=> [:nome, :nome=]
109109
{% endhighlight %}
110110

111111
Em Ruby, podemos abrir uma classe novamente e alterá-la. As mudanças estarão

ru/documentation/quickstart/2/index.md

+18-17
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,29 @@ header: |
2121
создать метод!
2222

2323
{% highlight irb %}
24-
irb(main):010:0> def h
24+
irb(main):010:0> def hi
2525
irb(main):011:1> puts "Hello World!"
2626
irb(main):012:1> end
27-
=> nil
27+
=> :hi
2828
{% endhighlight %}
2929

30-
Код `def h` означает начало объявление метода. Он говорит Ruby, что мы
31-
определяем метод, имя которого `h`. Следующая строка – тело метода, та
30+
Код `def hi` означает начало объявление метода. Он говорит Ruby, что мы
31+
определяем метод, имя которого `hi`. Следующая строка – тело метода, та
3232
же строка, что мы видели раньше: `puts "Hello World"`. И, наконец,
3333
последняя строка, `end`, говорит Ruby, что мы завершили объявление
34-
метода. Ответ от Ruby, `=> nil`, говорит нам, что он понял, что мы
35-
завершили объявление метода.
34+
метода. Ответ от Ruby, `=> :hi`, говорит нам, что он понял, что мы
35+
завершили объявление метода. Ответ может быть таким: `=> nil`, в Ruby
36+
версии 2.0 и ниже, но это здесь не важно, поэтому двинемся дальше.
3637

3738
## Кратко о повторяющихся жизнях метода
3839

3940
Теперь давайте попробуем вызвать метод несколько раз:
4041

4142
{% highlight irb %}
42-
irb(main):013:0> h
43+
irb(main):013:0> hi
4344
Hello World!
4445
=> nil
45-
irb(main):014:0> h()
46+
irb(main):014:0> hi()
4647
Hello World!
4748
=> nil
4849
{% endhighlight %}
@@ -53,14 +54,14 @@ Hello World!
5354
нравится, но это не обязательно.
5455

5556
Что если мы хотим сказать hello одному человеку, а не всему миру?
56-
Просто переопределим метод `h`, чтобы он принимал имя как параметр.
57+
Просто переопределим метод `hi`, чтобы он принимал имя как параметр.
5758

5859
{% highlight irb %}
59-
irb(main):015:0> def h(name)
60+
irb(main):015:0> def hi(name)
6061
irb(main):016:1> puts "Hello #{name}!"
6162
irb(main):017:1> end
62-
=> nil
63-
irb(main):018:0> h("Matz")
63+
=> :hi
64+
irb(main):018:0> hi("Matz")
6465
Hello Matz!
6566
=> nil
6667
{% endhighlight %}
@@ -77,14 +78,14 @@ Hello Matz!
7778
большой буквы:
7879

7980
{% highlight irb %}
80-
irb(main):019:0> def h(name = "World")
81+
irb(main):019:0> def hi(name = "World")
8182
irb(main):020:1> puts "Hello #{name.capitalize}!"
8283
irb(main):021:1> end
83-
=> nil
84-
irb(main):022:0> h "chris"
84+
=> :hi
85+
irb(main):022:0> hi "chris"
8586
Hello Chris!
8687
=> nil
87-
irb(main):023:0> h
88+
irb(main):023:0> hi
8889
Hello World!
8990
=> nil
9091
{% endhighlight %}
@@ -114,7 +115,7 @@ irb(main):031:1> def say_bye
114115
irb(main):032:2> puts "Bye #{@name}, come back soon."
115116
irb(main):033:2> end
116117
irb(main):034:1> end
117-
=> nil
118+
=> :say_bye
118119
{% endhighlight %}
119120

120121
Новое ключевое слово здесь - `class`. Оно служит для объявления нового

ru/documentation/quickstart/3/index.md

+15-14
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ Bye Pat, come back soon.
3535

3636
{% highlight irb %}
3737
irb(main):038:0> g.@name
38-
SyntaxError: compile error
39-
(irb):52: syntax error
40-
from (irb):52
38+
SyntaxError: (irb):38: syntax error, unexpected tIVAR, expecting '('
4139
{% endhighlight %}
4240

4341
Неа, не можем этого сделать.
@@ -53,16 +51,19 @@ SyntaxError: compile error
5351

5452
{% highlight irb %}
5553
irb(main):039:0> Greeter.instance_methods
56-
=> ["method", "send", "object_id", "singleton_methods",
57-
"__send__", "equal?", "taint", "frozen?",
58-
"instance_variable_get", "kind_of?", "to_a",
59-
"instance_eval", "type", "protected_methods", "extend",
60-
"eql?", "display", "instance_variable_set", "hash",
61-
"is_a?", "to_s", "class", "tainted?", "private_methods",
62-
"untaint", "say_hi", "id", "inspect", "==", "===",
63-
"clone", "public_methods", "respond_to?", "freeze",
64-
"say_bye", "__id__", "=~", "methods", "nil?", "dup",
65-
"instance_variables", "instance_of?"]
54+
=> [:say_hi, :say_bye, :instance_of?, :public_send,
55+
:instance_variable_get, :instance_variable_set,
56+
:instance_variable_defined?, :remove_instance_variable,
57+
:private_methods, :kind_of?, :instance_variables, :tap,
58+
:is_a?, :extend, :define_singleton_method, :to_enum,
59+
:enum_for, :<=>, :===, :=~, :!~, :eql?, :respond_to?,
60+
:freeze, :inspect, :display, :send, :object_id, :to_s,
61+
:method, :public_method, :singleton_method, :nil?, :hash,
62+
:class, :singleton_class, :clone, :dup, :itself, :taint,
63+
:tainted?, :untaint, :untrust, :trust, :untrusted?, :methods,
64+
:protected_methods, :frozen?, :public_methods,
65+
:singleton_methods, :!, :==, :!=, :__send__, :equal?,
66+
:instance_eval, :instance_exec, :__id__]
6667
{% endhighlight %}
6768

6869
Ого! Это куча методов. А мы объявили всего два. Что здесь происходит?
@@ -102,7 +103,7 @@ irb(main):043:0> g.respond_to?("to_s")
102103
irb(main):044:0> class Greeter
103104
irb(main):045:1> attr_accessor :name
104105
irb(main):046:1> end
105-
=> nil
106+
=> [:name, :name=]
106107
{% endhighlight %}
107108

108109
В Ruby вы можете открыть класс снова и изменить его. Изменения будут

ru/documentation/quickstart/4/index.md

+32-32
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ end
4747
ее значение nil, он просто печатает три точки. Нет смысла приветствовать
4848
несуществующее, верно?
4949

50-
## Циклы и повторы – так же известные как итерации
50+
## Циклы и повторы – также известные как итерации
5151

52-
Если объект, записанный в переменной `@names` откликается на метод
53-
`each`, значит он является объектом на котором вы можете итерировать. И
54-
итерируя по нему вы можете приветствовать каждого человека за раз. И
55-
наконец, если `@names` является чем-то совсем другим, просто превратим
56-
ее в строку автоматически и поприветствуем.
52+
Если объект, записанный в переменной `@names`, откликается на метод
53+
`each`, значит он является объектом, на котором вы можете итерировать.
54+
И, итерируя по нему, вы можете приветствовать каждого человека за раз.
55+
И, наконец, если переменная `@names` является чем-то совсем другим,
56+
просто превратим её в строку автоматически и поприветствуем.
5757

5858
Давайте взглянем на итератор повнимательнее:
5959

@@ -64,14 +64,14 @@ end
6464
{% endhighlight %}
6565

6666
`each` – это метод, который принимает блок кода и запускает этот блок
67-
кода для каждого элемента в списке. И в примере выше, код между `do` и
68-
`end`, это просто некий блок. Блок это что-то вроде анонимной функции
67+
кода для каждого элемента в списке. И в примере выше код между `do` и
68+
`end`это просто некий блок. Блок это что-то вроде анонимной функции
6969
или `лямбды`. Переменная между знаками (|) – это параметр для данного
7070
блока, как раз тот самый элемент списка, на которым будет производится
7171
действие в блоке кода.
7272

73-
Что происходит здесь, это то, что каждая запись в списке, `name`,
74-
привязана к элементу в списке, и таким образом выражение `puts "Hello
73+
Что происходит здесь, это то, что каждая запись в списке`name`
74+
привязана к элементу в списке, и, таким образом, выражение `puts "Hello
7575
#{name}!"` будет выполнено с этим элементом.
7676

7777
Большинство других языков программирования поддерживают прохождение по
@@ -86,17 +86,17 @@ for (i=0; i<number_of_elements; i++)
8686

8787
Это работает, но это не так элегантно. Вам нужно заводить переменную типа
8888
`i`, понимать, сколько элементов в списке, и объяснять языку, как он
89-
должен проходить по списку. Путь Ruby намного элегантней, все детали
90-
исполнения скрыты внутри `each` метода, и все что вам нужно сделать
91-
это сказать, что нужно сделать с элементами списка. Внутри метод `each`
92-
вызывает `yield "Albert'", затем `yield "Brenda"` и так далее с
89+
должен проходить по списку. Путь Ruby намного элегантней: все детали
90+
исполнения скрыты внутри `each` методаи все что вам нужно сделать
91+
– это сказать: что нужно сделать с элементами списка. Внутри метод
92+
`each` вызывает `yield "Albert'"`, затем `yield "Brenda"` и так далее с
9393
остальными именами.
9494

95-
## Блоки, прекрасные блестки на грани Ruby
95+
## Блоки: прекрасные блёстки на грани Ruby
9696

9797
Реальная сила блоков видна, когда вы работаете с более сложными
98-
сущностями, чем списки. За выполнением простых деталей внутри метода, вы
99-
также можете осуществлять там некую настройку, декомпозицию, отлавливать
98+
сущностями, чем списки. Помимо выполнения простых деталей внутри метода,
99+
вы также можете осуществлять там некую настройку, декомпозицию, отлавливать
100100
ошибки – все может быть скрыто от пользователя.
101101

102102
{% highlight ruby %}
@@ -113,23 +113,23 @@ def say_bye
113113
end
114114
{% endhighlight %}
115115

116-
Метод `say_bye` не использует `each`, вместо этого он проверяет, что
117-
`@names` откликается на метод `join`, и если так, использует его. В
118-
другом случае, он просто печатает переменную в виде строки. Этот метод
119-
не волнует настоящий *тип* переменной, просто действует в зависимости
120-
от методов, которые тот поддерживает. Это так же известно под названием
116+
Метод `say_bye` не использует `each` вместо этого он проверяет, что
117+
`@names` откликается на метод `join`, и если так использует его. В
118+
другом случае он просто печатает переменную в виде строки. Этот метод
119+
не волнует настоящий *тип* переменной, он просто действует в зависимости
120+
от методов, которые тот поддерживает. Это также известно под названием
121121
"Duck Typing" (Утиная типизация), как в известной фразе – "если оно
122-
ходит как утка, если оно крякает как утка – это утка". Выигрыш от этого
123-
в том, что вам не обязательно ограничивать типы переменных, которые
122+
ходит как утка и крякает как утка – это утка". Выигрыш от этого в том,
123+
что вам не обязательно ограничивать типы переменных, которые
124124
поддерживаются. Если кто-то захочет использовать ваш метод с неким новым
125125
классом списка, пока тот поддерживает вызов метода `join` с аналогичной
126126
другим спискам семантикой – все будет работать как запланировано.
127127

128128
## Запускаем скрипт
129129

130-
Итак, это был MegaGreeter класс, остальное в файле, это лишь вызовы
130+
Итак, это был MegaGreeter класс; остальное в файле это лишь вызовы
131131
метода на этом классе. Последний трюк, на который стоит обратить
132-
внимание, это следующая строка:
132+
внимание это следующая строка:
133133

134134
{% highlight ruby %}
135135
if __FILE__ == $0
@@ -139,17 +139,17 @@ if __FILE__ == $0
139139
файла. `$0` – это имя файла, которое было использовано при запуске
140140
программы. Данная проверка говорит: "Если это тот самый файл, который
141141
был запущен изначально…". Это позволяет файлу быть использованным как
142-
библиотека, и не выполнять код в данном контексте. Но если файл
142+
библиотека и не выполнять код в данном контексте. Но если файл
143143
используется как выполняемый – тогда выполняем этот код.
144144

145145
## Считайте, что вы в теме
146146

147-
Итак, это конец краткого тура по Ruby. Там еще столько для изучения,
147+
Итак, это конец краткого тура по Ruby. Там еще столько для изучения:
148148
различные структуры, которые предлагает Ruby; использование блоков и
149-
`yield`; модули и примеси; и многое-многое другое. Я надеюсь, что эти
150-
небольшие примеры оставят в вас приятное послевкусие от Ruby и вы
149+
`yield`; модули и примеси и многое-многое другое. Я надеюсь, что эти
150+
небольшие примеры оставят у вас приятное послевкусие от Ruby и вы
151151
захотите узнать его еще лучше!
152152

153-
Если так, пожалуйста просмотрите нашу
153+
Если так, пожалуйста, просмотрите нашу
154154
[Документацию](/ru/documentation/), которая содержит в себе ссылки на
155-
руководства и введения, все они бесплатно доступны онлайн.
155+
руководства и введения все они бесплатно доступны онлайн.

tr/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ nesnenin değişkenlerine erişmek için kolay bir yol sunar.
102102
irb(main):044:0> class Greeter
103103
irb(main):045:1> attr_accessor :name
104104
irb(main):046:1> end
105-
=> nil
105+
=> [:name, :name=]
106106
{% endhighlight %}
107107

108108
Ruby’de bir sınıfı açıp değiştirebilirsiniz. Yapılan değişiklikler

vi/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ truy xuất dữ liệu tới các biến của một đối tượng.
101101
irb(main):044:0> class ChàoMừng
102102
irb(main):045:1> attr_accessor :tên
103103
irb(main):046:1> end
104-
=> nil
104+
=> [:tên, :tên=]
105105
{% endhighlight %}
106106

107107
Trong Ruby, bạn có thể mở một lớp ở phía trên và sửa nó. Sự thay đổi sẽ xuất

zh_cn/documentation/quickstart/3/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ irb(main):043:0> g.respond_to?("to_s")
9292
irb(main):044:0> class Greeter
9393
irb(main):045:1> attr_accessor :name
9494
irb(main):046:1> end
95-
=> nil
95+
=> [:name, :name=]
9696
{% endhighlight %}
9797

9898
在 Ruby 里,您可以把一个类打开然后改变它。这些改变会对以后生成的甚至是已经生成的对象产生即时效果。 下面我们来建一个新的 Greeter

0 commit comments

Comments
 (0)