rbs 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +5 -0
- data/CHANGELOG.md +23 -0
- data/README.md +6 -1
- data/core/array.rbs +2866 -1086
- data/core/basic_object.rbs +150 -30
- data/core/binding.rbs +33 -0
- data/core/builtin.rbs +4 -4
- data/core/class.rbs +43 -5
- data/core/comparable.rbs +57 -0
- data/core/complex.rbs +170 -4
- data/core/constants.rbs +51 -0
- data/core/deprecated.rbs +7 -0
- data/core/dir.rbs +305 -20
- data/core/encoding.rbs +472 -77
- data/core/enumerable.rbs +2173 -234
- data/core/enumerator.rbs +448 -182
- data/core/env.rbs +448 -1
- data/core/errno.rbs +1 -10
- data/core/errors.rbs +152 -2
- data/core/exception.rbs +201 -127
- data/core/false_class.rbs +27 -0
- data/core/fiber.rbs +118 -37
- data/core/fiber_error.rbs +8 -9
- data/core/file.rbs +1059 -139
- data/core/file_test.rbs +287 -32
- data/core/float.rbs +776 -300
- data/core/gc.rbs +185 -34
- data/core/global_variables.rbs +5 -1
- data/core/hash.rbs +1582 -649
- data/core/integer.rbs +974 -204
- data/core/io/buffer.rbs +710 -0
- data/core/io/wait.rbs +29 -8
- data/core/io.rbs +2438 -417
- data/core/kernel.rbs +2315 -316
- data/core/marshal.rbs +37 -2
- data/core/match_data.rbs +123 -6
- data/core/math.rbs +126 -6
- data/core/method.rbs +226 -102
- data/core/module.rbs +421 -45
- data/core/nil_class.rbs +64 -0
- data/core/numeric.rbs +620 -142
- data/core/object.rbs +453 -81
- data/core/object_space.rbs +92 -2
- data/core/proc.rbs +482 -285
- data/core/process.rbs +443 -34
- data/core/ractor.rbs +232 -9
- data/core/random.rbs +151 -52
- data/core/range.rbs +885 -160
- data/core/rational.rbs +122 -6
- data/core/rb_config.rbs +14 -4
- data/core/refinement.rbs +44 -0
- data/core/regexp.rbs +156 -14
- data/core/ruby_vm.rbs +42 -3
- data/core/signal.rbs +78 -39
- data/core/string.rbs +2123 -567
- data/core/string_io.rbs +204 -0
- data/core/struct.rbs +283 -28
- data/core/symbol.rbs +304 -30
- data/core/thread.rbs +1288 -688
- data/core/thread_group.rbs +66 -10
- data/core/time.rbs +643 -217
- data/core/trace_point.rbs +100 -12
- data/core/true_class.rbs +24 -0
- data/core/unbound_method.rbs +73 -7
- data/core/warning.rbs +37 -12
- data/docs/CONTRIBUTING.md +40 -34
- data/docs/stdlib.md +3 -102
- data/lib/rbs/annotate/annotations.rb +197 -0
- data/lib/rbs/annotate/formatter.rb +80 -0
- data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
- data/lib/rbs/annotate/rdoc_source.rb +120 -0
- data/lib/rbs/annotate.rb +6 -0
- data/lib/rbs/cli.rb +45 -1
- data/lib/rbs/definition_builder.rb +5 -1
- data/lib/rbs/location_aux.rb +12 -0
- data/lib/rbs/prototype/rb.rb +12 -0
- data/lib/rbs/version.rb +1 -1
- data/sig/annotate/annotations.rbs +102 -0
- data/sig/annotate/formatter.rbs +24 -0
- data/sig/annotate/rdoc_annotater.rbs +82 -0
- data/sig/annotate/rdoc_source.rbs +30 -0
- data/sig/cli.rbs +2 -0
- data/sig/collection/{collections.rbs → sources.rbs} +0 -0
- data/sig/location.rbs +6 -0
- data/sig/method_types.rbs +5 -1
- data/sig/polyfill.rbs +78 -0
- data/stdlib/abbrev/0/abbrev.rbs +6 -0
- data/stdlib/abbrev/0/array.rbs +26 -0
- data/stdlib/base64/0/base64.rbs +31 -0
- data/stdlib/benchmark/0/benchmark.rbs +74 -3
- data/stdlib/bigdecimal/0/big_decimal.rbs +614 -165
- data/stdlib/bigdecimal-math/0/big_math.rbs +41 -64
- data/stdlib/cgi/0/core.rbs +59 -0
- data/stdlib/coverage/0/coverage.rbs +164 -2
- data/stdlib/csv/0/csv.rbs +2862 -398
- data/stdlib/date/0/date.rbs +483 -25
- data/stdlib/date/0/date_time.rbs +187 -12
- data/stdlib/dbm/0/dbm.rbs +152 -17
- data/stdlib/digest/0/digest.rbs +146 -0
- data/stdlib/erb/0/erb.rbs +65 -245
- data/stdlib/fiber/0/fiber.rbs +73 -91
- data/stdlib/fileutils/0/fileutils.rbs +301 -1
- data/stdlib/find/0/find.rbs +9 -0
- data/stdlib/forwardable/0/forwardable.rbs +65 -1
- data/stdlib/io-console/0/io-console.rbs +227 -15
- data/stdlib/ipaddr/0/ipaddr.rbs +161 -0
- data/stdlib/json/0/json.rbs +1146 -144
- data/stdlib/logger/0/formatter.rbs +24 -0
- data/stdlib/logger/0/log_device.rbs +64 -0
- data/stdlib/logger/0/logger.rbs +165 -13
- data/stdlib/logger/0/period.rbs +10 -0
- data/stdlib/logger/0/severity.rbs +26 -0
- data/stdlib/monitor/0/monitor.rbs +163 -0
- data/stdlib/mutex_m/0/mutex_m.rbs +35 -6
- data/stdlib/net-http/0/net-http.rbs +1492 -683
- data/stdlib/nkf/0/nkf.rbs +372 -0
- data/stdlib/objspace/0/objspace.rbs +149 -90
- data/stdlib/openssl/0/openssl.rbs +8108 -71
- data/stdlib/optparse/0/optparse.rbs +487 -19
- data/stdlib/pathname/0/pathname.rbs +425 -124
- data/stdlib/prettyprint/0/prettyprint.rbs +120 -99
- data/stdlib/prime/0/integer-extension.rbs +20 -2
- data/stdlib/prime/0/prime.rbs +88 -21
- data/stdlib/pstore/0/pstore.rbs +102 -0
- data/stdlib/pty/0/pty.rbs +64 -14
- data/stdlib/resolv/0/resolv.rbs +420 -31
- data/stdlib/rubygems/0/basic_specification.rbs +4 -1
- data/stdlib/rubygems/0/config_file.rbs +33 -1
- data/stdlib/rubygems/0/dependency_installer.rbs +4 -3
- data/stdlib/rubygems/0/installer.rbs +13 -1
- data/stdlib/rubygems/0/path_support.rbs +4 -1
- data/stdlib/rubygems/0/platform.rbs +5 -1
- data/stdlib/rubygems/0/request_set.rbs +44 -2
- data/stdlib/rubygems/0/requirement.rbs +65 -2
- data/stdlib/rubygems/0/rubygems.rbs +407 -0
- data/stdlib/rubygems/0/source_list.rbs +13 -0
- data/stdlib/rubygems/0/specification.rbs +21 -1
- data/stdlib/rubygems/0/stream_ui.rbs +3 -1
- data/stdlib/rubygems/0/uninstaller.rbs +8 -1
- data/stdlib/rubygems/0/version.rbs +60 -157
- data/stdlib/securerandom/0/securerandom.rbs +44 -0
- data/stdlib/set/0/set.rbs +420 -106
- data/stdlib/shellwords/0/shellwords.rbs +55 -77
- data/stdlib/singleton/0/singleton.rbs +20 -0
- data/stdlib/socket/0/addrinfo.rbs +210 -9
- data/stdlib/socket/0/basic_socket.rbs +103 -11
- data/stdlib/socket/0/ip_socket.rbs +31 -9
- data/stdlib/socket/0/socket.rbs +586 -38
- data/stdlib/socket/0/tcp_server.rbs +22 -2
- data/stdlib/socket/0/tcp_socket.rbs +12 -1
- data/stdlib/socket/0/udp_socket.rbs +25 -2
- data/stdlib/socket/0/unix_server.rbs +22 -2
- data/stdlib/socket/0/unix_socket.rbs +45 -5
- data/stdlib/strscan/0/string_scanner.rbs +210 -9
- data/stdlib/tempfile/0/tempfile.rbs +58 -10
- data/stdlib/time/0/time.rbs +208 -116
- data/stdlib/timeout/0/timeout.rbs +10 -0
- data/stdlib/tmpdir/0/tmpdir.rbs +13 -4
- data/stdlib/tsort/0/cyclic.rbs +1 -0
- data/stdlib/tsort/0/interfaces.rbs +1 -0
- data/stdlib/tsort/0/tsort.rbs +42 -0
- data/stdlib/uri/0/common.rbs +57 -8
- data/stdlib/uri/0/file.rbs +55 -109
- data/stdlib/uri/0/ftp.rbs +6 -3
- data/stdlib/uri/0/generic.rbs +556 -327
- data/stdlib/uri/0/http.rbs +26 -115
- data/stdlib/uri/0/https.rbs +8 -102
- data/stdlib/uri/0/ldap.rbs +143 -137
- data/stdlib/uri/0/ldaps.rbs +8 -102
- data/stdlib/uri/0/mailto.rbs +3 -0
- data/stdlib/uri/0/rfc2396_parser.rbs +66 -26
- data/stdlib/uri/0/ws.rbs +6 -3
- data/stdlib/uri/0/wss.rbs +5 -3
- data/stdlib/yaml/0/dbm.rbs +151 -87
- data/stdlib/yaml/0/store.rbs +6 -0
- data/stdlib/zlib/0/zlib.rbs +90 -31
- metadata +17 -5
- data/lib/rbs/location.rb +0 -221
data/core/rational.rbs
CHANGED
@@ -1,14 +1,24 @@
|
|
1
|
+
# <!-- rdoc-file=rational.c -->
|
1
2
|
# A rational number can be represented as a pair of integer numbers: a/b (b>0),
|
2
3
|
# where a is the numerator and b is the denominator. Integer a equals rational
|
3
4
|
# a/1 mathematically.
|
4
5
|
#
|
5
|
-
#
|
6
|
-
#
|
7
|
-
#
|
6
|
+
# You can create a Rational object explicitly with:
|
7
|
+
#
|
8
|
+
# * A [rational
|
9
|
+
# literal](doc/syntax/literals_rdoc.html#label-Rational+Literals).
|
10
|
+
#
|
11
|
+
#
|
12
|
+
# You can convert certain objects to Rationals with:
|
13
|
+
#
|
14
|
+
# * Method [Rational](Kernel.html#method-i-Rational).
|
15
|
+
#
|
16
|
+
#
|
17
|
+
# Examples
|
8
18
|
#
|
9
19
|
# Rational(1) #=> (1/1)
|
10
20
|
# Rational(2, 3) #=> (2/3)
|
11
|
-
# Rational(4, -6) #=> (-2/3)
|
21
|
+
# Rational(4, -6) #=> (-2/3) # Reduced.
|
12
22
|
# 3.to_r #=> (3/1)
|
13
23
|
# 2/3r #=> (2/3)
|
14
24
|
#
|
@@ -46,6 +56,10 @@ class Rational < Numeric
|
|
46
56
|
| (Rational) -> Rational
|
47
57
|
| (Numeric) -> Numeric
|
48
58
|
|
59
|
+
# <!--
|
60
|
+
# rdoc-file=rational.c
|
61
|
+
# - rat * numeric -> numeric
|
62
|
+
# -->
|
49
63
|
# Performs multiplication.
|
50
64
|
#
|
51
65
|
# Rational(2, 3) * Rational(2, 3) #=> (4/9)
|
@@ -58,6 +72,10 @@ class Rational < Numeric
|
|
58
72
|
| (Complex) -> Complex
|
59
73
|
| (Numeric) -> Numeric
|
60
74
|
|
75
|
+
# <!--
|
76
|
+
# rdoc-file=rational.c
|
77
|
+
# - rat ** numeric -> numeric
|
78
|
+
# -->
|
61
79
|
# Performs exponentiation.
|
62
80
|
#
|
63
81
|
# Rational(2) ** Rational(3) #=> (8/1)
|
@@ -70,6 +88,10 @@ class Rational < Numeric
|
|
70
88
|
def **: (Complex) -> Complex
|
71
89
|
| (Numeric) -> Numeric
|
72
90
|
|
91
|
+
# <!--
|
92
|
+
# rdoc-file=rational.c
|
93
|
+
# - rat + numeric -> numeric
|
94
|
+
# -->
|
73
95
|
# Performs addition.
|
74
96
|
#
|
75
97
|
# Rational(2, 3) + Rational(2, 3) #=> (4/3)
|
@@ -84,6 +106,10 @@ class Rational < Numeric
|
|
84
106
|
|
85
107
|
def +@: () -> Rational
|
86
108
|
|
109
|
+
# <!--
|
110
|
+
# rdoc-file=rational.c
|
111
|
+
# - rat - numeric -> numeric
|
112
|
+
# -->
|
87
113
|
# Performs subtraction.
|
88
114
|
#
|
89
115
|
# Rational(2, 3) - Rational(2, 3) #=> (0/1)
|
@@ -96,10 +122,19 @@ class Rational < Numeric
|
|
96
122
|
| (Complex) -> Complex
|
97
123
|
| (Numeric) -> Rational
|
98
124
|
|
125
|
+
# <!--
|
126
|
+
# rdoc-file=rational.c
|
127
|
+
# - -rat -> rational
|
128
|
+
# -->
|
99
129
|
# Negates `rat`.
|
100
130
|
#
|
101
131
|
def -@: () -> Rational
|
102
132
|
|
133
|
+
# <!--
|
134
|
+
# rdoc-file=rational.c
|
135
|
+
# - rat / numeric -> numeric
|
136
|
+
# - rat.quo(numeric) -> numeric
|
137
|
+
# -->
|
103
138
|
# Performs division.
|
104
139
|
#
|
105
140
|
# Rational(2, 3) / Rational(2, 3) #=> (1/1)
|
@@ -112,6 +147,10 @@ class Rational < Numeric
|
|
112
147
|
| (Complex) -> Complex
|
113
148
|
| (Numeric) -> Rational
|
114
149
|
|
150
|
+
# <!--
|
151
|
+
# rdoc-file=rational.c
|
152
|
+
# - rational <=> numeric -> -1, 0, +1, or nil
|
153
|
+
# -->
|
115
154
|
# Returns -1, 0, or +1 depending on whether `rational` is less than, equal to,
|
116
155
|
# or greater than `numeric`.
|
117
156
|
#
|
@@ -128,6 +167,10 @@ class Rational < Numeric
|
|
128
167
|
def <=>: (Integer | Rational) -> Integer
|
129
168
|
| (untyped) -> Integer?
|
130
169
|
|
170
|
+
# <!--
|
171
|
+
# rdoc-file=rational.c
|
172
|
+
# - rat == object -> true or false
|
173
|
+
# -->
|
131
174
|
# Returns `true` if `rat` equals `object` numerically.
|
132
175
|
#
|
133
176
|
# Rational(2, 3) == Rational(2, 3) #=> true
|
@@ -138,6 +181,11 @@ class Rational < Numeric
|
|
138
181
|
#
|
139
182
|
def ==: (untyped) -> bool
|
140
183
|
|
184
|
+
# <!--
|
185
|
+
# rdoc-file=rational.c
|
186
|
+
# - rat.abs -> rational
|
187
|
+
# - rat.magnitude -> rational
|
188
|
+
# -->
|
141
189
|
# Returns the absolute value of `rat`.
|
142
190
|
#
|
143
191
|
# (1/2r).abs #=> (1/2)
|
@@ -153,6 +201,10 @@ class Rational < Numeric
|
|
153
201
|
|
154
202
|
alias arg angle
|
155
203
|
|
204
|
+
# <!--
|
205
|
+
# rdoc-file=rational.c
|
206
|
+
# - rat.ceil([ndigits]) -> integer or rational
|
207
|
+
# -->
|
156
208
|
# Returns the smallest number greater than or equal to `rat` with a precision of
|
157
209
|
# `ndigits` decimal digits (default: 0).
|
158
210
|
#
|
@@ -175,12 +227,16 @@ class Rational < Numeric
|
|
175
227
|
def ceil: () -> Integer
|
176
228
|
| (Integer digits) -> (Integer | Rational)
|
177
229
|
|
178
|
-
def coerce: (Numeric) -> [Numeric, Numeric]
|
230
|
+
def coerce: (Numeric) -> [ Numeric, Numeric ]
|
179
231
|
|
180
232
|
def conj: () -> Rational
|
181
233
|
|
182
234
|
def conjugate: () -> Rational
|
183
235
|
|
236
|
+
# <!--
|
237
|
+
# rdoc-file=rational.c
|
238
|
+
# - rat.denominator -> integer
|
239
|
+
# -->
|
184
240
|
# Returns the denominator (always positive).
|
185
241
|
#
|
186
242
|
# Rational(7).denominator #=> 1
|
@@ -192,12 +248,16 @@ class Rational < Numeric
|
|
192
248
|
|
193
249
|
def div: (Numeric) -> Integer
|
194
250
|
|
195
|
-
def divmod: (Numeric) -> [Numeric, Numeric]
|
251
|
+
def divmod: (Numeric) -> [ Numeric, Numeric ]
|
196
252
|
|
197
253
|
def dup: () -> self
|
198
254
|
|
199
255
|
def eql?: (untyped) -> bool
|
200
256
|
|
257
|
+
# <!--
|
258
|
+
# rdoc-file=rational.c
|
259
|
+
# - rat.fdiv(numeric) -> float
|
260
|
+
# -->
|
201
261
|
# Performs division and returns the value as a Float.
|
202
262
|
#
|
203
263
|
# Rational(2, 3).fdiv(1) #=> 0.6666666666666666
|
@@ -208,6 +268,10 @@ class Rational < Numeric
|
|
208
268
|
|
209
269
|
def finite?: () -> bool
|
210
270
|
|
271
|
+
# <!--
|
272
|
+
# rdoc-file=rational.c
|
273
|
+
# - rat.floor([ndigits]) -> integer or rational
|
274
|
+
# -->
|
211
275
|
# Returns the largest number less than or equal to `rat` with a precision of
|
212
276
|
# `ndigits` decimal digits (default: 0).
|
213
277
|
#
|
@@ -230,6 +294,11 @@ class Rational < Numeric
|
|
230
294
|
def floor: () -> Integer
|
231
295
|
| (Integer digits) -> (Integer | Rational)
|
232
296
|
|
297
|
+
# <!--
|
298
|
+
# rdoc-file=rational.c
|
299
|
+
# - hash()
|
300
|
+
# -->
|
301
|
+
#
|
233
302
|
def hash: () -> Integer
|
234
303
|
|
235
304
|
def i: () -> Complex
|
@@ -240,6 +309,10 @@ class Rational < Numeric
|
|
240
309
|
|
241
310
|
def infinite?: () -> Integer?
|
242
311
|
|
312
|
+
# <!--
|
313
|
+
# rdoc-file=rational.c
|
314
|
+
# - rat.inspect -> string
|
315
|
+
# -->
|
243
316
|
# Returns the value as a string for inspection.
|
244
317
|
#
|
245
318
|
# Rational(2).inspect #=> "(2/1)"
|
@@ -250,6 +323,7 @@ class Rational < Numeric
|
|
250
323
|
|
251
324
|
def integer?: () -> bool
|
252
325
|
|
326
|
+
# <!-- rdoc-file=rational.c -->
|
253
327
|
# Returns the absolute value of `rat`.
|
254
328
|
#
|
255
329
|
# (1/2r).abs #=> (1/2)
|
@@ -262,12 +336,20 @@ class Rational < Numeric
|
|
262
336
|
def modulo: (Float) -> Float
|
263
337
|
| (Numeric) -> Rational
|
264
338
|
|
339
|
+
# <!--
|
340
|
+
# rdoc-file=rational.c
|
341
|
+
# - rat.negative? -> true or false
|
342
|
+
# -->
|
265
343
|
# Returns `true` if `rat` is less than 0.
|
266
344
|
#
|
267
345
|
def negative?: () -> bool
|
268
346
|
|
269
347
|
def nonzero?: () -> self?
|
270
348
|
|
349
|
+
# <!--
|
350
|
+
# rdoc-file=rational.c
|
351
|
+
# - rat.numerator -> integer
|
352
|
+
# -->
|
271
353
|
# Returns the numerator.
|
272
354
|
#
|
273
355
|
# Rational(7).numerator #=> 7
|
@@ -281,10 +363,15 @@ class Rational < Numeric
|
|
281
363
|
|
282
364
|
def polar: () -> [ Rational, Integer | Float ]
|
283
365
|
|
366
|
+
# <!--
|
367
|
+
# rdoc-file=rational.c
|
368
|
+
# - rat.positive? -> true or false
|
369
|
+
# -->
|
284
370
|
# Returns `true` if `rat` is greater than 0.
|
285
371
|
#
|
286
372
|
def positive?: () -> bool
|
287
373
|
|
374
|
+
# <!-- rdoc-file=rational.c -->
|
288
375
|
# Performs division.
|
289
376
|
#
|
290
377
|
# Rational(2, 3) / Rational(2, 3) #=> (1/1)
|
@@ -297,6 +384,11 @@ class Rational < Numeric
|
|
297
384
|
| (Complex) -> Complex
|
298
385
|
| (Numeric) -> Rational
|
299
386
|
|
387
|
+
# <!--
|
388
|
+
# rdoc-file=rational.c
|
389
|
+
# - rat.rationalize -> self
|
390
|
+
# - rat.rationalize(eps) -> rational
|
391
|
+
# -->
|
300
392
|
# Returns a simpler approximation of the value if the optional argument `eps` is
|
301
393
|
# given (rat-|eps| <= result <= rat+|eps|), self otherwise.
|
302
394
|
#
|
@@ -318,6 +410,10 @@ class Rational < Numeric
|
|
318
410
|
def remainder: (Float) -> Float
|
319
411
|
| (Numeric) -> Rational
|
320
412
|
|
413
|
+
# <!--
|
414
|
+
# rdoc-file=rational.c
|
415
|
+
# - rat.round([ndigits] [, half: mode]) -> integer or rational
|
416
|
+
# -->
|
321
417
|
# Returns `rat` rounded to the nearest value with a precision of `ndigits`
|
322
418
|
# decimal digits (default: 0).
|
323
419
|
#
|
@@ -359,6 +455,10 @@ class Rational < Numeric
|
|
359
455
|
|
360
456
|
def to_c: () -> Complex
|
361
457
|
|
458
|
+
# <!--
|
459
|
+
# rdoc-file=rational.c
|
460
|
+
# - rat.to_f -> float
|
461
|
+
# -->
|
362
462
|
# Returns the value as a Float.
|
363
463
|
#
|
364
464
|
# Rational(2).to_f #=> 2.0
|
@@ -368,6 +468,10 @@ class Rational < Numeric
|
|
368
468
|
#
|
369
469
|
def to_f: () -> Float
|
370
470
|
|
471
|
+
# <!--
|
472
|
+
# rdoc-file=rational.c
|
473
|
+
# - rat.to_i -> integer
|
474
|
+
# -->
|
371
475
|
# Returns the truncated value as an integer.
|
372
476
|
#
|
373
477
|
# Equivalent to Rational#truncate.
|
@@ -382,6 +486,10 @@ class Rational < Numeric
|
|
382
486
|
|
383
487
|
alias to_int to_i
|
384
488
|
|
489
|
+
# <!--
|
490
|
+
# rdoc-file=rational.c
|
491
|
+
# - rat.to_r -> self
|
492
|
+
# -->
|
385
493
|
# Returns self.
|
386
494
|
#
|
387
495
|
# Rational(2).to_r #=> (2/1)
|
@@ -389,6 +497,10 @@ class Rational < Numeric
|
|
389
497
|
#
|
390
498
|
def to_r: () -> Rational
|
391
499
|
|
500
|
+
# <!--
|
501
|
+
# rdoc-file=rational.c
|
502
|
+
# - rat.to_s -> string
|
503
|
+
# -->
|
392
504
|
# Returns the value as a string.
|
393
505
|
#
|
394
506
|
# Rational(2).to_s #=> "2/1"
|
@@ -397,6 +509,10 @@ class Rational < Numeric
|
|
397
509
|
#
|
398
510
|
def to_s: () -> String
|
399
511
|
|
512
|
+
# <!--
|
513
|
+
# rdoc-file=rational.c
|
514
|
+
# - rat.truncate([ndigits]) -> integer or rational
|
515
|
+
# -->
|
400
516
|
# Returns `rat` truncated (toward zero) to a precision of `ndigits` decimal
|
401
517
|
# digits (default: 0).
|
402
518
|
#
|
data/core/rb_config.rbs
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# <!-- rdoc-file=rbconfig.rb -->
|
1
2
|
# The module storing Ruby interpreter configurations on building.
|
2
3
|
#
|
3
4
|
# This file was created by mkconfig.rb when ruby was built. It contains build
|
@@ -6,6 +7,11 @@
|
|
6
7
|
# built.
|
7
8
|
#
|
8
9
|
module RbConfig
|
10
|
+
# <!--
|
11
|
+
# rdoc-file=rbconfig.rb
|
12
|
+
# - RbConfig.expand(val) -> string
|
13
|
+
# - RbConfig.expand(val, config) -> string
|
14
|
+
# -->
|
9
15
|
# expands variable with given `val` value.
|
10
16
|
#
|
11
17
|
# RbConfig.expand("$(bindir)") # => /home/foobar/all-ruby/ruby19x/bin
|
@@ -17,14 +23,17 @@ module RbConfig
|
|
17
23
|
def self.ruby: () -> String
|
18
24
|
end
|
19
25
|
|
26
|
+
# <!-- rdoc-file=rbconfig.rb -->
|
20
27
|
# The hash configurations stored.
|
21
28
|
#
|
22
29
|
RbConfig::CONFIG: Hash[String, String]
|
23
30
|
|
31
|
+
# <!-- rdoc-file=rbconfig.rb -->
|
24
32
|
# DESTDIR on make install.
|
25
33
|
#
|
26
34
|
RbConfig::DESTDIR: String
|
27
35
|
|
36
|
+
# <!-- rdoc-file=rbconfig.rb -->
|
28
37
|
# Almost same with CONFIG. MAKEFILE_CONFIG has other variable reference like
|
29
38
|
# below.
|
30
39
|
#
|
@@ -35,9 +44,9 @@ RbConfig::DESTDIR: String
|
|
35
44
|
# require 'rbconfig'
|
36
45
|
#
|
37
46
|
# print <<-END_OF_MAKEFILE
|
38
|
-
# prefix = #{
|
39
|
-
# exec_prefix = #{
|
40
|
-
# bindir = #{
|
47
|
+
# prefix = #{RbConfig::MAKEFILE_CONFIG['prefix']}
|
48
|
+
# exec_prefix = #{RbConfig::MAKEFILE_CONFIG['exec_prefix']}
|
49
|
+
# bindir = #{RbConfig::MAKEFILE_CONFIG['bindir']}
|
41
50
|
# END_OF_MAKEFILE
|
42
51
|
#
|
43
52
|
# => prefix = /usr/local
|
@@ -47,11 +56,12 @@ RbConfig::DESTDIR: String
|
|
47
56
|
# RbConfig.expand is used for resolving references like above in rbconfig.
|
48
57
|
#
|
49
58
|
# require 'rbconfig'
|
50
|
-
# p
|
59
|
+
# p RbConfig.expand(RbConfig::MAKEFILE_CONFIG["bindir"])
|
51
60
|
# # => "/usr/local/bin"
|
52
61
|
#
|
53
62
|
RbConfig::MAKEFILE_CONFIG: Hash[String, String]
|
54
63
|
|
64
|
+
# <!-- rdoc-file=rbconfig.rb -->
|
55
65
|
# Ruby installed directory.
|
56
66
|
#
|
57
67
|
RbConfig::TOPDIR: String
|
data/core/refinement.rbs
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# <!-- rdoc-file=class.c -->
|
2
|
+
# Refinement is a class of the `self` (current context) inside `refine`
|
3
|
+
# statement. It allows to import methods from other modules, see
|
4
|
+
# #import_methods.
|
5
|
+
#
|
6
|
+
class Refinement < Module
|
7
|
+
private
|
8
|
+
|
9
|
+
# <!--
|
10
|
+
# rdoc-file=class.c
|
11
|
+
# - import_methods(module, ...) -> self
|
12
|
+
# -->
|
13
|
+
# Imports methods from modules. Unlike Module#include, Refinement#import_methods
|
14
|
+
# copies methods and adds them into the refinement, so the refinement is
|
15
|
+
# activated in the imported methods.
|
16
|
+
#
|
17
|
+
# Note that due to method copying, only methods defined in Ruby code can be
|
18
|
+
# imported.
|
19
|
+
#
|
20
|
+
# module StrUtils
|
21
|
+
# def indent(level)
|
22
|
+
# ' ' * level + self
|
23
|
+
# end
|
24
|
+
# end
|
25
|
+
#
|
26
|
+
# module M
|
27
|
+
# refine String do
|
28
|
+
# import_methods StrUtils
|
29
|
+
# end
|
30
|
+
# end
|
31
|
+
#
|
32
|
+
# using M
|
33
|
+
# "foo".indent(3)
|
34
|
+
# #=> " foo"
|
35
|
+
#
|
36
|
+
# module M
|
37
|
+
# refine String do
|
38
|
+
# import_methods Enumerable
|
39
|
+
# # Can't import method which is not defined with Ruby code: Enumerable#drop
|
40
|
+
# end
|
41
|
+
# end
|
42
|
+
#
|
43
|
+
def import_methods: (*Module) -> self
|
44
|
+
end
|