Skip to content

Commit 943c0f6

Browse files
Fix syntax highlighted code blocks in lists (ru) (#2393)
1 parent a034970 commit 943c0f6

3 files changed

+50
-50
lines changed

ru/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ lang: ru
2828
Сопоставление с образцом, широко используемое в функциональных языках программирования, представлено в качестве экспериментального нововведения. [#14912](https://bugs.ruby-lang.org/issues/14912)
2929
Оно позволяет пересекать с указанным объектом и присваивать ему значение, если оно соответствует шаблону.
3030

31-
{% highlight ruby %}
31+
```ruby
3232
case JSON.parse('{...}', symbolize_names: true)
3333
in {name: "Alice", children: [{name: "Bob", age: age}]}
3434
p age
3535
...
3636
end
37-
{% endhighlight %}
37+
```
3838

3939
Подробнее, смотрите [Сопоставление с образцом - новая особенность Ruby 2.7](https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7).
4040

ru/news/_posts/2019-10-22-ruby-2-7-0-preview2-released.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ lang: ru
2929
Сопоставление с образцом, широко используемое в функциональных языках программирования, представлено в качестве экспериментального нововведения. [[Feature #14912]](https://bugs.ruby-lang.org/issues/14912)
3030
Оно позволяет пересекать с указанным объектом и присваивать ему значение, если оно соответствует шаблону.
3131

32-
{% highlight ruby %}
32+
```ruby
3333
case JSON.parse('{...}', symbolize_names: true)
3434
in {name: "Alice", children: [{name: "Bob", age: age}]}
3535
p age
3636
...
3737
end
38-
{% endhighlight %}
38+
```
3939

4040
Подробнее, смотрите [Сопоставление с образцом - новая особенность Ruby 2.7](https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7).
4141

@@ -60,12 +60,12 @@ end
6060
ключевых слов, добавьте оператор двойную звёздочку для избежания
6161
предупреждения и обеспечения правильного поведения в Ruby 3.
6262

63-
{% highlight ruby %}
63+
```ruby
6464
def foo(key: 42); end; foo({key: 42}) # warned
6565
def foo(**kw); end; foo({key: 42}) # warned
6666
def foo(key: 42); end; foo(**{key: 42}) # OK
6767
def foo(**kw); end; foo(**{key: 42}) # OK
68-
{% endhighlight %}
68+
```
6969
7070
* Когда вызов метода передает ключевые слова методу, который принимает
7171
ключевые слова, но он не передает достаточно необходимых позиционных
@@ -74,12 +74,12 @@ end
7474
в качестве хэша вместо ключевого слова чтобы избежать предупреждения
7575
и обеспечить правильное поведение в Ruby 3.
7676
77-
{% highlight ruby %}
77+
```ruby
7878
def foo(h, **kw); end; foo(key: 42) # warned
7979
def foo(h, key: 42); end; foo(key: 42) # warned
8080
def foo(h, **kw); end; foo({key: 42}) # OK
8181
def foo(h, key: 42); end; foo({key: 42}) # OK
82-
{% endhighlight %}
82+
```
8383
8484
* Когда метод принимает определенные ключевые слова, но не ключевое
8585
слово звёздочку, и хэш или ключевые слова звёздочки передаются в
@@ -88,51 +88,51 @@ end
8888
обновить вызывающий код чтобы передать отдельные хэши, для
8989
обеспечения правильного поведения в Ruby 3.
9090
91-
{% highlight ruby %}
91+
```ruby
9292
def foo(h={}, key: 42); end; foo("key" => 43, key: 42) # warned
9393
def foo(h={}, key: 42); end; foo({"key" => 43, key: 42}) # warned
9494
def foo(h={}, key: 42); end; foo({"key" => 43}, key: 42) # OK
95-
{% endhighlight %}
95+
```
9696
9797
* Если метод не принимает ключевые слова и вызывается с ключевыми
9898
словами, ключевые слова по-прежнему обрабатываются как позиционный
9999
хэш, без предупреждений. Такое поведение сохранится в Ruby 3.
100100
101-
{% highlight ruby %}
101+
```ruby
102102
def foo(opt={}); end; foo( key: 42 ) # OK
103-
{% endhighlight %}
103+
```
104104
105105
* НеСимволы допускаются в качестве ключевых слов аргументов ключей,
106106
если метод принимает произвольные ключевые слова. [[Feature #14183]](https://bugs.ruby-lang.org/issues/14183)
107107
108-
{% highlight ruby %}
108+
```ruby
109109
def foo(**kw); p kw; end; foo("str" => 1) #=> {"str"=>1}
110-
{% endhighlight %}
110+
```
111111
112112
* <code>**nil</code> допускается в определениях методов явно отмечать
113113
что метод не принимает никаких ключевых слов. Вызов такого метода
114114
с ключевыми словами приведет к возникновнию ArgumentError. [[Feature #14183]](https://bugs.ruby-lang.org/issues/14183)
115115
116-
{% highlight ruby %}
116+
```ruby
117117
def foo(h, **nil); end; foo(key: 1) # ArgumentError
118118
def foo(h, **nil); end; foo(**{key: 1}) # ArgumentError
119119
def foo(h, **nil); end; foo("str" => 1) # ArgumentError
120120
def foo(h, **nil); end; foo({key: 1}) # OK
121121
def foo(h, **nil); end; foo({"str" => 1}) # OK
122-
{% endhighlight %}
122+
```
123123
124124
* Передача пустого ключевого слова звёздочки методу, который больше
125125
не принимает ключевые слова не передает пустой хэш, если пустой хэш не
126126
является необходимым для обязательного параметра, в этом случае будет
127127
выдано предупреждение. Удалите двойную звёздочку для продолжения передачи
128128
позиционного хэша. [[Feature #14183]](https://bugs.ruby-lang.org/issues/14183)
129129
130-
{% highlight ruby %}
130+
```ruby
131131
h = {}; def foo(*a) a end; foo(**h) # []
132132
h = {}; def foo(a) a end; foo(**h) # {} and warning
133133
h = {}; def foo(*a) a end; foo(h) # [{}]
134134
h = {}; def foo(a) a end; foo(h) # {}
135-
{% endhighlight %}
135+
```
136136
137137
## Другие Значимые Новые Функции
138138
@@ -143,36 +143,36 @@ end
143143
* Вводится экспериментальный безначальный диапазон. Это может не так полезно,
144144
как бесконечный диапазон, но может пригодиться для DSL. [[Feature #14799]](https://bugs.ruby-lang.org/issues/14799)
145145
146-
{% highlight ruby %}
146+
```ruby
147147
ary[..3] # identical to ary[0..3]
148148
rel.where(sales: ..100)
149-
{% endhighlight %}
149+
```
150150
151151
* `Enumerable#tally` добавлен. Подсчитывает вхождение каждого элемента.
152152

153-
{% highlight ruby %}
153+
```ruby
154154
["a", "b", "c", "b"].tally
155155
#=> {"a"=>1, "b"=>2, "c"=>1}
156-
{% endhighlight %}
156+
```
157157

158158
* Вызов приватного метода по `self` теперь возможен. [[Feature #11297]](https://bugs.ruby-lang.org/issues/11297) [[Feature #16123]](https://bugs.ruby-lang.org/issues/16123)
159159

160-
{% highlight ruby %}
160+
```ruby
161161
def foo
162162
end
163163
private :foo
164164
self.foo
165-
{% endhighlight %}
165+
```
166166

167167
* `Enumerator::Lazy#eager` добавлен. Генерирует не ленивый перечислитель
168168
из ленивого перечислителя. [[Feature #15901]](https://bugs.ruby-lang.org/issues/15901)
169169

170-
{% highlight ruby %}
170+
```ruby
171171
a = %w(foo bar baz)
172172
e = a.lazy.map {|x| x.upcase }.map {|x| x + "!" }.eager
173173
p e.class #=> Enumerator
174174
p e.map {|x| x + "?" } #=> ["FOO!?", "BAR!?", "BAZ!?"]
175-
{% endhighlight %}
175+
```
176176

177177
## Улучшения производительности
178178

ru/news/_posts/2019-11-23-ruby-2-7-0-preview3-released.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ lang: ru
4444
Оно позволяет пересекать с указанным объектом и присваивать ему значение,
4545
если оно соответствует шаблону.
4646

47-
{% highlight ruby %}
47+
```ruby
4848
require "json"
4949

5050
json = <<END
@@ -59,7 +59,7 @@ case JSON.parse(json, symbolize_names: true)
5959
in {name: "Alice", children: [{name: "Bob", age: age}]}
6060
p age #=> 2
6161
end
62-
{% endhighlight %}
62+
```
6363

6464
Подробнее, смотрите
6565
[Сопоставление с образцом - новая особенность Ruby 2.7](https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7).
@@ -94,12 +94,12 @@ end
9494
ключевых слов, добавьте оператор двойную звёздочку для избежания
9595
предупреждения и обеспечения правильного поведения в Ruby 3.
9696

97-
{% highlight ruby %}
97+
```ruby
9898
def foo(key: 42); end; foo({key: 42}) # warned
9999
def foo(**kw); end; foo({key: 42}) # warned
100100
def foo(key: 42); end; foo(**{key: 42}) # OK
101101
def foo(**kw); end; foo(**{key: 42}) # OK
102-
{% endhighlight %}
102+
```
103103
104104
* Когда вызов метода передает ключевые слова методу, который принимает
105105
ключевые слова, но он не передает достаточно необходимых позиционных
@@ -108,12 +108,12 @@ end
108108
в качестве хэша вместо ключевого слова чтобы избежать предупреждения
109109
и обеспечить правильное поведение в Ruby 3.
110110
111-
{% highlight ruby %}
111+
```ruby
112112
def foo(h, **kw); end; foo(key: 42) # warned
113113
def foo(h, key: 42); end; foo(key: 42) # warned
114114
def foo(h, **kw); end; foo({key: 42}) # OK
115115
def foo(h, key: 42); end; foo({key: 42}) # OK
116-
{% endhighlight %}
116+
```
117117
118118
* Когда метод принимает определенные ключевые слова, но не ключевое
119119
слово звёздочку, и хэш или ключевые слова звёздочки передаются в
@@ -122,40 +122,40 @@ end
122122
обновить вызывающий код чтобы передать отдельные хэши, для
123123
обеспечения правильного поведения в Ruby 3.
124124
125-
{% highlight ruby %}
125+
```ruby
126126
def foo(h={}, key: 42); end; foo("key" => 43, key: 42) # warned
127127
def foo(h={}, key: 42); end; foo({"key" => 43, key: 42}) # warned
128128
def foo(h={}, key: 42); end; foo({"key" => 43}, key: 42) # OK
129-
{% endhighlight %}
129+
```
130130
131131
* Если метод не принимает ключевые слова и вызывается с ключевыми
132132
словами, ключевые слова по-прежнему обрабатываются как позиционный
133133
хэш, без предупреждений. Такое поведение сохранится в Ruby 3.
134134
135-
{% highlight ruby %}
135+
```ruby
136136
def foo(opt={}); end; foo( key: 42 ) # OK
137-
{% endhighlight %}
137+
```
138138
139139
* НеСимволы допускаются в качестве ключевых слов аргументов ключей,
140140
если метод принимает произвольные ключевые слова.
141141
[[Feature #14183]](https://bugs.ruby-lang.org/issues/14183)
142142
143-
{% highlight ruby %}
143+
```ruby
144144
def foo(**kw); p kw; end; foo("str" => 1) #=> {"str"=>1}
145-
{% endhighlight %}
145+
```
146146
147147
* `**nil` допускается в определениях методов явно отмечать
148148
что метод не принимает никаких ключевых слов. Вызов такого метода
149149
с ключевыми словами приведет к возникновнию ArgumentError.
150150
[[Feature #14183]](https://bugs.ruby-lang.org/issues/14183)
151151
152-
{% highlight ruby %}
152+
```ruby
153153
def foo(h, **nil); end; foo(key: 1) # ArgumentError
154154
def foo(h, **nil); end; foo(**{key: 1}) # ArgumentError
155155
def foo(h, **nil); end; foo("str" => 1) # ArgumentError
156156
def foo(h, **nil); end; foo({key: 1}) # OK
157157
def foo(h, **nil); end; foo({"str" => 1}) # OK
158-
{% endhighlight %}
158+
```
159159
160160
* Передача пустого ключевого слова звёздочки методу, который больше
161161
не принимает ключевые слова не передает пустой хэш, если пустой хэш не
@@ -164,12 +164,12 @@ end
164164
позиционного хэша.
165165
[[Feature #14183]](https://bugs.ruby-lang.org/issues/14183)
166166
167-
{% highlight ruby %}
167+
```ruby
168168
h = {}; def foo(*a) a end; foo(**h) # []
169169
h = {}; def foo(a) a end; foo(**h) # {} and warning
170170
h = {}; def foo(*a) a end; foo(h) # [{}]
171171
h = {}; def foo(a) a end; foo(h) # {}
172-
{% endhighlight %}
172+
```
173173
174174
ПРИМЕЧАНИЕ: Выводилось слишком много устаревших предупреждений
175175
о несовместимости аргументов ключевых слов, слишком многословны.
@@ -198,39 +198,39 @@ end
198198
для DSL.
199199
[[Feature #14799]](https://bugs.ruby-lang.org/issues/14799)
200200

201-
{% highlight ruby %}
201+
```ruby
202202
ary[..3] # identical to ary[0..3]
203203
rel.where(sales: ..100)
204-
{% endhighlight %}
204+
```
205205

206206
* `Enumerable#tally` добавлен. Подсчитывает вхождение каждого элемента.
207207

208-
{% highlight ruby %}
208+
```ruby
209209
["a", "b", "c", "b"].tally
210210
#=> {"a"=>1, "b"=>2, "c"=>1}
211-
{% endhighlight %}
211+
```
212212

213213
* Вызов приватного метода по `self` теперь возможен.
214214
[[Feature #11297]](https://bugs.ruby-lang.org/issues/11297),
215215
[[Feature #16123]](https://bugs.ruby-lang.org/issues/16123)
216216

217-
{% highlight ruby %}
217+
```ruby
218218
def foo
219219
end
220220
private :foo
221221
self.foo
222-
{% endhighlight %}
222+
```
223223

224224
* `Enumerator::Lazy#eager` добавлен.
225225
Генерирует не ленивый перечислитель из ленивого перечислителя.
226226
[[Feature #15901]](https://bugs.ruby-lang.org/issues/15901)
227227

228-
{% highlight ruby %}
228+
```ruby
229229
a = %w(foo bar baz)
230230
e = a.lazy.map {|x| x.upcase }.map {|x| x + "!" }.eager
231231
p e.class #=> Enumerator
232232
p e.map {|x| x + "?" } #=> ["FOO!?", "BAR!?", "BAZ!?"]
233-
{% endhighlight %}
233+
```
234234

235235
## Улучшения производительности
236236

0 commit comments

Comments
 (0)