rdoba 0.9.3 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/Gemfile +4 -4
- data/README.md +21 -27
- data/Rakefile +21 -19
- data/features/step_definitions/mixin_steps.rb +237 -198
- data/features/support/env.rb +26 -160
- data/features/support/mixin_support.rb +13 -9
- data/lib/rdoba/_version_.rb +3 -1
- data/lib/rdoba/a.rb +44 -42
- data/lib/rdoba/bcd.rb +43 -26
- data/lib/rdoba/blank.rb +14 -0
- data/lib/rdoba/combinations.rb +17 -15
- data/lib/rdoba/common.rb +53 -53
- data/lib/rdoba/debug.rb +7 -5
- data/lib/rdoba/deploy.rb +55 -50
- data/lib/rdoba/dup.rb +31 -31
- data/lib/rdoba/fe.rb +6 -5
- data/lib/rdoba/gem.rb +33 -29
- data/lib/rdoba/hashorder.rb +24 -24
- data/lib/rdoba/io.rb +81 -74
- data/lib/rdoba/merge.rb +16 -16
- data/lib/rdoba/mixin/time.rb +13 -7
- data/lib/rdoba/mixin/try.rb +10 -5
- data/lib/rdoba/mixin/try_1_9_0.rb +8 -3
- data/lib/rdoba/mixin/wait_if.rb +24 -18
- data/lib/rdoba/mixin.rb +363 -306
- data/lib/rdoba/numeric.rb +19 -17
- data/lib/rdoba/os.rb +127 -0
- data/lib/rdoba/re.rb +4 -4
- data/lib/rdoba/require.rb +24 -19
- data/lib/rdoba/roman.rb +47 -35
- data/lib/rdoba/strings.rb +5 -6
- data/lib/rdoba/yaml.rb +20 -18
- data/lib/rdoba.rb +53 -44
- data/rdoba.gemspec +10 -9
- metadata +44 -46
- data/features/log.feature +0 -277
- data/features/step_definitions/log_steps.rb +0 -200
- data/features/support/fulltest_as_log.rb.in +0 -143
- data/features/support/fulltest_as_self.rb.in +0 -144
- data/lib/rdoba/log.rb +0 -419
@@ -1,266 +1,305 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
Допустим(/ꙇє примѣнена подпримѣсь \.([^\s]+) бисера рдоба/i) do |подпримѣсь|
|
4
|
+
require 'rdoba'
|
5
|
+
case подпримѣсь
|
6
|
+
when 'пуздро'
|
7
|
+
rdoba mixin: [:case]
|
8
|
+
when 'обратка'
|
9
|
+
rdoba mixin: [:reverse]
|
10
|
+
when 'ли_пущь'
|
11
|
+
rdoba mixin: [:empty]
|
12
|
+
when 'во_сл'
|
13
|
+
rdoba mixin: [:to_h]
|
14
|
+
when 'сравнена'
|
15
|
+
rdoba mixin: [:compare]
|
16
|
+
when 'режь_по'
|
17
|
+
rdoba mixin: [:split_by]
|
18
|
+
when 'жди_ьже'
|
19
|
+
rdoba mixin: [:wait_if]
|
20
|
+
when 'время'
|
21
|
+
rdoba mixin: [:time]
|
22
|
+
when 'пробь'
|
23
|
+
rdoba mixin: [:try]
|
24
|
+
else
|
25
|
+
raise
|
26
|
+
end
|
27
|
+
end
|
25
28
|
|
26
29
|
Допустим(/^у нас есть набор чисел$/) do
|
27
|
-
|
28
|
-
|
29
|
-
Если(/къ (кирилическу|латыньску) слову въ (верхнемъ|нижнемъ|смѣшанѣмъ) пуздрѣ ꙇє примѣненъ приꙇомъ :(ниспуздри|воспуздри)/) do | ꙇезикъ, пуздро, приꙇомъ |
|
30
|
-
стр = if ꙇезикъ =~ /кирилическу/
|
31
|
-
if пуздро =~ /верхнемъ/
|
32
|
-
'КИРИЛИЧЕСКЫ БУКЫ ЗРИЙ СІИ: Ѡ И Ꙍ'
|
33
|
-
elsif пуздро =~ /нижнемъ/
|
34
|
-
'кирилическы букы зрий сіи: ѡ и ꙍ'
|
35
|
-
else
|
36
|
-
'КиРиЛиЧеСкЫ бУкЫ зРиЙ сІи: Ѡ и Ꙍ' ; end
|
37
|
-
else
|
38
|
-
if пуздро =~ /верхнемъ/
|
39
|
-
'LATIN LETTERS SEE THE FOLLOWING: ÆǞ'
|
40
|
-
elsif пуздро =~ /нижнемъ/
|
41
|
-
'latin letters see the following: æǟ'
|
42
|
-
else
|
43
|
-
'LaTiN lEtTeRs SeE tHe FoLlOwInG: æǞ' ; end ; end
|
44
|
-
|
45
|
-
@плодъ = ( приꙇомъ =~ /ниспуздри/ ) && стр.downcase || стр.upcase ; end
|
46
|
-
|
47
|
-
Если(/^рассечём его на чётные и нечётные$/) do
|
48
|
-
( @чётъ, @нечётъ ) = @набор.split_by { |x| x % 2 == 0 } ; end
|
30
|
+
@набор = [1, 2, 3, 4, 5, 6, 7, 8]
|
31
|
+
end
|
49
32
|
|
50
|
-
Если(
|
51
|
-
|
33
|
+
Если(
|
34
|
+
/къ (кирилическу|латыньску) слову въ (верхнемъ|нижнемъ|смѣшанѣмъ) пуздрѣ ꙇє примѣненъ приꙇомъ :(ниспуздри|воспуздри)/
|
35
|
+
) do |ꙇезикъ, пуздро, приꙇомъ|
|
36
|
+
стр =
|
37
|
+
if /кирилическу/.match?(ꙇезикъ)
|
38
|
+
if /верхнемъ/.match?(пуздро)
|
39
|
+
'КИРИЛИЧЕСКЫ БУКЫ ЗРИЙ СІИ: Ѡ И Ꙍ'
|
40
|
+
elsif /нижнемъ/.match?(пуздро)
|
41
|
+
'кирилическы букы зрий сіи: ѡ и ꙍ'
|
42
|
+
else
|
43
|
+
'КиРиЛиЧеСкЫ бУкЫ зРиЙ сІи: Ѡ и Ꙍ'
|
44
|
+
end
|
45
|
+
elsif /верхнемъ/.match?(пуздро)
|
46
|
+
'LATIN LETTERS SEE THE FOLLOWING: ÆǞ'
|
47
|
+
elsif /нижнемъ/.match?(пуздро)
|
48
|
+
'latin letters see the following: æǟ'
|
49
|
+
else
|
50
|
+
'LaTiN lEtTeRs SeE tHe FoLlOwInG: æǞ'
|
51
|
+
end
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
( пуздро =~ /верхнемъ/ ) &&
|
56
|
-
'КИРИЛИЧЕСКЫ БУКЫ ЗРИЙ СІИ: Ѡ И Ꙍ'||
|
57
|
-
'кирилическы букы зрий сіи: ѡ и ꙍ'
|
58
|
-
else
|
59
|
-
( пуздро =~ /верхнемъ/ ) &&
|
60
|
-
'LATIN LETTERS SEE THE FOLLOWING: ÆǞ' ||
|
61
|
-
'latin letters see the following: æǟ' ; end
|
53
|
+
@плодъ = (приꙇомъ =~ /ниспуздри/) && стр.downcase || стр.upcase
|
54
|
+
end
|
62
55
|
|
63
|
-
|
64
|
-
|
65
|
-
|
56
|
+
Если(/^рассечём его на чётные и нечётные$/) do
|
57
|
+
@чётъ, @нечётъ = @набор.split_by { |x| x.even? }
|
58
|
+
end
|
66
59
|
|
60
|
+
Если(/^спробуем вызвать метод :qwer пущя$/) do
|
61
|
+
@плодъ = nil.try(:qwer)
|
62
|
+
end
|
67
63
|
|
64
|
+
То(/^(кирилическо|латыньско) слово имаꙇє буквы въ (нижнемъ|верхнемъ) пуздрѣ$/) do |ꙇезикъ, пуздро|
|
65
|
+
плодъ =
|
66
|
+
if /кирилическо/.match?(ꙇезикъ)
|
67
|
+
(пуздро =~ /верхнемъ/) && 'КИРИЛИЧЕСКЫ БУКЫ ЗРИЙ СІИ: Ѡ И Ꙍ' || 'кирилическы букы зрий сіи: ѡ и ꙍ'
|
68
|
+
else
|
69
|
+
(пуздро =~ /верхнемъ/) && 'LATIN LETTERS SEE THE FOLLOWING: ÆǞ' || 'latin letters see the following: æǟ'
|
70
|
+
end
|
68
71
|
|
72
|
+
if @плодъ != плодъ
|
73
|
+
raise "Плодна Страза со значенꙇемъ '#{@плодъ}' должна имѣти значенꙇе " \
|
74
|
+
"'#{плодъ}'"
|
75
|
+
end
|
76
|
+
end
|
69
77
|
|
70
|
-
То(/^Стразовъ приꙇомъ :обратка( сѫ кракомъ| сѫ доведомъ)? повратє обратну Стразу$/) do
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
78
|
+
То(/^Стразовъ приꙇомъ :обратка( сѫ кракомъ| сѫ доведомъ)? повратє обратну Стразу$/) do |доведъ|
|
79
|
+
требе =
|
80
|
+
case доведъ
|
81
|
+
when nil
|
82
|
+
'акортс'
|
83
|
+
when /кракомъ/u
|
75
84
|
"\xB0\xD0\xBA\xD0\xBE\xD0\x80\xD1\x82\xD1\x81\xD1"
|
76
|
-
|
77
|
-
|
78
|
-
|
85
|
+
when /доведомъ/u
|
86
|
+
'карост'
|
87
|
+
end
|
79
88
|
|
80
|
-
|
81
|
-
|
89
|
+
исходъ =
|
90
|
+
case доведъ
|
91
|
+
when nil
|
82
92
|
'строка'.reverse
|
83
|
-
|
93
|
+
when /кракомъ/u
|
84
94
|
'строка'.reverse :byte_by_byte
|
85
|
-
|
95
|
+
when /доведомъ/u
|
86
96
|
'строка'.reverse 2
|
87
|
-
|
97
|
+
end
|
88
98
|
|
89
|
-
|
90
|
-
|
99
|
+
if исходъ != требе
|
100
|
+
raise "Ложнъ исходъ '#{исходъ}' ꙇє повратнъ отъ приꙇома :обратка#{доведъ}, требуꙇє '#{требе}'"
|
101
|
+
end
|
91
102
|
end
|
92
103
|
|
93
|
-
То(/^приꙇомъ :ли_пущь рода (пущь|лжа|нове вещи) повратє (вѣрнъ|лжъ)$/) do
|
94
|
-
|
95
|
-
|
96
|
-
|
104
|
+
То(/^приꙇомъ :ли_пущь рода (пущь|лжа|нове вещи) повратє (вѣрнъ|лжъ)$/) do |вещь, поврать|
|
105
|
+
поврать = (поврать == 'вѣрнъ') && true || false
|
106
|
+
исходъ =
|
107
|
+
case вещь
|
108
|
+
when 'пущь'
|
97
109
|
nil.empty? == поврать
|
98
|
-
|
110
|
+
when 'лжа'
|
99
111
|
false.empty? == поврать
|
100
|
-
|
112
|
+
when 'нове вещи'
|
101
113
|
Object.new.empty? == поврать
|
102
|
-
|
103
|
-
|
104
|
-
|
114
|
+
end
|
115
|
+
unless исходъ
|
116
|
+
raise "Ложнъ исходъ ꙇє повратнъ отъ приꙇома :ли_пущь рода #{вещь}"
|
117
|
+
end
|
105
118
|
end
|
106
119
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
120
|
+
Если(
|
121
|
+
/^(ровнъ|двуглубнъ|триглубнъ) наборъ( сѫ одинакыми частьми)? ꙇє пречиненъ во словникъ( приꙇомомъ :во_сл сѫ клѵчемъ :кромѣ_двоꙇниковъ)?$/
|
122
|
+
) do |видъ, одинакъ, клѵчь|
|
123
|
+
@вещь =
|
124
|
+
case видъ
|
125
|
+
when 'ровнъ'
|
126
|
+
['aa', 0, 'bb', 1].to_h
|
127
|
+
when 'двуглубнъ'
|
114
128
|
if одинакъ
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
129
|
+
if клѵчь
|
130
|
+
[['aa', 0], ['aa', 0]].to_h(save_unique: true)
|
131
|
+
else
|
132
|
+
[['aa', 0], ['aa', 0]].to_h
|
133
|
+
end
|
119
134
|
else
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
135
|
+
[['aa', 0], ['bb', 1]].to_h
|
136
|
+
end
|
137
|
+
when 'триглубнъ'
|
138
|
+
[['aa', 0, 1], ['bb', [1, 0]]].to_h
|
139
|
+
end
|
124
140
|
end
|
125
141
|
|
126
|
-
То(/^тъꙇи имѣꙇє ровнъ словникъ сѫ (пущими |ровнѣми |двуглубнѣми )?значѣми$/) do
|
127
|
-
|
128
|
-
|
129
|
-
{
|
130
|
-
|
131
|
-
{
|
132
|
-
|
133
|
-
{
|
134
|
-
|
135
|
-
|
136
|
-
|
142
|
+
То(/^тъꙇи имѣꙇє ровнъ словникъ сѫ (пущими |ровнѣми |двуглубнѣми )?значѣми$/) do |видъ|
|
143
|
+
@схъ =
|
144
|
+
if /пущими/u.match?(видъ)
|
145
|
+
{ 'aa' => nil, 0 => nil, 'bb' => nil, 1 => nil }
|
146
|
+
elsif /ровнѣми/u.match?(видъ)
|
147
|
+
{ 'aa' => 0, 'bb' => 1 }
|
148
|
+
else
|
149
|
+
{ 'aa' => [0, 1], 'bb' => [1, 0] }
|
150
|
+
end
|
151
|
+
|
152
|
+
if @вещь != @схъ
|
153
|
+
raise "Наборъ '#{@вещь}' требуꙇє быти '#{@схъ}'"
|
154
|
+
end
|
137
155
|
end
|
138
156
|
|
139
|
-
То(/^тъꙇи имѣꙇє ровнъ словникъ сѫ (однимъ|двами) двуглубн(?:ѣмъ|ѣмы) знач(?:ѣмъ|ѣмы)$/) do
|
140
|
-
|
141
|
-
|
142
|
-
{
|
143
|
-
|
144
|
-
{
|
157
|
+
То(/^тъꙇи имѣꙇє ровнъ словникъ сѫ (однимъ|двами) двуглубн(?:ѣмъ|ѣмы) знач(?:ѣмъ|ѣмы)$/) do |видъ|
|
158
|
+
@схъ =
|
159
|
+
if /двами/.match?(видъ)
|
160
|
+
{ 'aa' => [0, 0] }
|
161
|
+
else
|
162
|
+
{ 'aa' => [0] }
|
163
|
+
end
|
145
164
|
|
146
|
-
|
147
|
-
|
165
|
+
if @вещь != @схъ
|
166
|
+
raise "Наборъ '#{@вещь}' требуꙇє быти '#{@схъ}'"
|
167
|
+
end
|
148
168
|
end
|
149
169
|
|
150
170
|
Если(/^имѣмы двѣ Стразы$/) do
|
151
|
-
|
171
|
+
@стры = %w[а҆́гнецъ а҆гкѵ́ра]
|
172
|
+
end
|
152
173
|
|
153
|
-
То(
|
154
|
-
|
174
|
+
То(
|
175
|
+
/^приꙇомъ :сравнена двухъ Стразъ( сѫ презоромъ надъстрочниковъ( ꙇакъ словникъ)?)? повратє (безъ )?одна$/
|
176
|
+
) do |доведъ, подобье, знакъ|
|
177
|
+
поврать = (знакъ =~ /безъ/u) && -1 || 1
|
155
178
|
|
156
|
-
|
157
|
-
|
179
|
+
исходъ =
|
180
|
+
if доведъ
|
158
181
|
if подобье
|
159
|
-
|
182
|
+
@стры[0].compare_to(@стры[1], ignore_diacritics: true) == поврать
|
160
183
|
else
|
161
|
-
|
162
|
-
|
163
|
-
|
184
|
+
@стры[0].compare_to(@стры[1], :ignore_diacritics) == поврать
|
185
|
+
end
|
186
|
+
else
|
187
|
+
@стры[0].compare_to(@стры[1]) == поврать
|
188
|
+
end
|
164
189
|
|
165
|
-
|
166
|
-
|
190
|
+
unless исходъ
|
191
|
+
raise "Приꙇомъ :сравнена двухъ Стразъ#{доведъ}#{подобье} требуꙇє повратъти '#{поврать}'"
|
192
|
+
end
|
167
193
|
end
|
168
194
|
|
169
195
|
То(/^получим два набора чётных и нечётных чисел$/) do
|
170
|
-
|
171
|
-
|
196
|
+
expect(@чётъ).to be_eql([2, 4, 6, 8])
|
197
|
+
expect(@нечётъ).to be_eql([1, 3, 5, 7])
|
198
|
+
end
|
172
199
|
|
173
200
|
То(/^той вернёт пущь$/) do
|
174
|
-
|
201
|
+
expect(@плодъ).to be_nil
|
202
|
+
end
|
175
203
|
|
176
204
|
Если(/^спробуем подождать мало, чтобы условие не выполнилось$/) do
|
177
|
-
|
205
|
+
@плодъ = wait_if(1) { false }
|
206
|
+
end
|
178
207
|
|
179
208
|
Если(/^спробуем подождать мало, чтобы условие выполнилось$/) do
|
180
|
-
|
209
|
+
@плодъ = wait_if(1) { true }
|
210
|
+
end
|
181
211
|
|
182
212
|
Если(/^спробуем подождать долго, чтобы условие выполнилось$/) do
|
183
|
-
|
184
|
-
|
185
|
-
Timeout.timeout(
|
186
|
-
|
187
|
-
|
188
|
-
|
213
|
+
@плодъ =
|
214
|
+
begin
|
215
|
+
Timeout.timeout(2) do
|
216
|
+
wait_if(10) { true }
|
217
|
+
end
|
218
|
+
rescue Timeout::Error
|
219
|
+
nil
|
220
|
+
end
|
221
|
+
end
|
189
222
|
|
190
223
|
То(/^недождёмся$/) do
|
191
|
-
|
224
|
+
expect(@плодъ).to be_nil
|
225
|
+
end
|
192
226
|
|
193
227
|
То(/^той вернёт ложно$/) do
|
194
|
-
|
228
|
+
expect(@плодъ).to be_falsey
|
229
|
+
end
|
195
230
|
|
196
231
|
То(/^той вернёт исте$/) do
|
197
|
-
|
198
|
-
|
232
|
+
expect(@плодъ).to be_truthy
|
233
|
+
end
|
199
234
|
|
200
235
|
Если(/^спробуем вызвать метод :mtime кута временного$/) do
|
201
|
-
|
202
|
-
|
236
|
+
@кут = tmpfile
|
237
|
+
@время = File.mtime(@кут)
|
238
|
+
end
|
203
239
|
|
204
240
|
Если(/^спробуем вызвать метод :atime кута временного$/) do
|
205
|
-
|
206
|
-
|
241
|
+
@кут = tmpfile
|
242
|
+
@время = File.atime(@кут)
|
243
|
+
end
|
207
244
|
|
208
245
|
Если(/^спробуем вызвать метод :ctime кута временного$/) do
|
209
|
-
|
210
|
-
|
246
|
+
@кут = tmpfile
|
247
|
+
@время = File.ctime(@кут)
|
248
|
+
end
|
211
249
|
|
212
250
|
То(/^той вернёт верно время/) do
|
213
|
-
|
214
|
-
|
251
|
+
время = @время.strftime('%Y-%m-%d %H:%M:%S.%N %z')
|
252
|
+
expect(время).to be_eql(`stat -c %y #{@кут}`.strip)
|
253
|
+
end
|
215
254
|
|
216
255
|
Если(/^ꙇє примѣнена подпримѣсь невѣрна бисера рдоба$/) do
|
217
|
-
|
256
|
+
@проц = proc { rdoba mixin: [:false] }
|
257
|
+
end
|
218
258
|
|
219
259
|
То(/^исключение невѣрнѣ опции вызвано будетъ$/) do
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
=begin
|
224
|
-
#!/usr/bin/ruby -KU
|
225
|
-
|
226
|
-
if $0 == __FILE__
|
227
|
-
p s.to_res
|
228
|
-
[1,2,3,4,5].each_comby do |c|
|
229
|
-
p c
|
230
|
-
end
|
231
|
-
|
232
|
-
len = 4
|
233
|
-
value = 100
|
234
|
-
p sprintf("%.*X", len, value )
|
235
|
-
|
236
|
-
s = ' 1221 eeee 4564 wwww ' + 258.to_p
|
237
|
-
ppp = s.scanf(' %d %s %d %s %.2+c')
|
238
|
-
p ppp
|
239
|
-
p 258.to_p.to_i(String::BE)
|
240
|
-
|
241
|
-
null = nil
|
242
|
-
p null.class, null
|
243
|
-
null <<= 'qweqweqweqwe'
|
244
|
-
p null.class, null
|
245
|
-
null << 'qweqweqweqwe'
|
246
|
-
p null.class, null
|
247
|
-
i = 12
|
248
|
-
p sprintf("0x%X", i)
|
249
|
-
p sprintf("%.3X", i)
|
250
|
-
|
251
|
-
p '----------'
|
252
|
-
|
253
|
-
str = <<STR
|
254
|
-
<font size="4" face="Irmologion Ucs">и3зhде
|
255
|
-
повелёніе t кeсарz ѓvгуста, написaти всю2
|
256
|
-
вселeнную</font>
|
257
|
-
STR
|
258
|
-
|
259
|
-
|
260
|
-
str = '/font><font size="4">III</font><i> </i>греч.<font size="4"><i></i> </font><font size="4" face="Irmologion Ucs">Мёсzца ѓvгуста въ Gi-й дeнь. Слyжба с™и1телю и3 чудотв0рцу тЂхwну, є3пcкпу вор0нежскому.</font>13 августа, Тихона Воронежского, заголовок службы m_aug\13p.hip'
|
261
|
-
re = /<font size="4" face="Irmologion Ucs">([ -"'-\?A-BD-HJ-\[\]`-hj-\}¤¦-§©«-®±µ-·»Ё-ЌЎ-яё-ќў-џҐ-ґ–-—‘-‚“-„†-•…‰‹-›€№™∙]+?)<\/font>/
|
262
|
-
|
263
|
-
p(str.match re)
|
260
|
+
expect { @проц.call }.to raise_error(Rdoba::Mixin::InvalidOption)
|
264
261
|
end
|
265
262
|
|
266
|
-
|
263
|
+
# #!/usr/bin/ruby -KU
|
264
|
+
#
|
265
|
+
# if $0 == __FILE__
|
266
|
+
# p s.to_res
|
267
|
+
# [1,2,3,4,5].each_comby do |c|
|
268
|
+
# p c
|
269
|
+
# end
|
270
|
+
#
|
271
|
+
# len = 4
|
272
|
+
# value = 100
|
273
|
+
# p sprintf("%.*X", len, value )
|
274
|
+
#
|
275
|
+
# s = ' 1221 eeee 4564 wwww ' + 258.to_p
|
276
|
+
# ppp = s.scanf(' %d %s %d %s %.2+c')
|
277
|
+
# p ppp
|
278
|
+
# p 258.to_p.to_i(String::BE)
|
279
|
+
#
|
280
|
+
# null = nil
|
281
|
+
# p null.class, null
|
282
|
+
# null <<= 'qweqweqweqwe'
|
283
|
+
# p null.class, null
|
284
|
+
# null << 'qweqweqweqwe'
|
285
|
+
# p null.class, null
|
286
|
+
# i = 12
|
287
|
+
# p sprintf("0x%X", i)
|
288
|
+
# p sprintf("%.3X", i)
|
289
|
+
#
|
290
|
+
# p '----------'
|
291
|
+
#
|
292
|
+
# str = <<STR
|
293
|
+
# <font size="4" face="Irmologion Ucs">и3зhде
|
294
|
+
# повелёніе t кeсарz ѓvгуста, написaти всю2
|
295
|
+
# вселeнную</font>
|
296
|
+
# STR
|
297
|
+
#
|
298
|
+
|
299
|
+
#
|
300
|
+
# str = '/font><font size="4">III</font><i> </i>греч.<font size="4"><i></i> </font><font size="4" face="Irmologion Ucs">Мёсzца ѓvгуста въ Gi-й дeнь. Слyжба с™и1телю и3 чудотв0рцу тЂхwну, є3пcкпу вор0нежскому.</font>13 августа, Тихона Воронежского, заголовок службы m_aug\13p.hip'
|
301
|
+
# re = /<font size="4" face="Irmologion Ucs">([ -"'-\?A-BD-HJ-\[\]`-hj-\}¤¦-§©«-®±µ-·»Ё-ЌЎ-яё-ќў-џҐ-ґ–-—‘-‚“-„†-•…‰‹-›€№™∙]+?)<\/font>/
|
302
|
+
#
|
303
|
+
# p(str.match re)
|
304
|
+
# end
|
305
|
+
#
|