rbs 4.1.0.pre.1 → 4.1.0.pre.2
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 +4 -4
- data/.github/workflows/c-check.yml +3 -0
- data/.github/workflows/dependabot.yml +1 -1
- data/.github/workflows/jruby.yml +67 -0
- data/.github/workflows/milestone.yml +4 -1
- data/.github/workflows/ruby.yml +12 -0
- data/.github/workflows/rust.yml +3 -0
- data/.github/workflows/truffleruby.yml +54 -0
- data/.github/workflows/typecheck.yml +3 -0
- data/.github/workflows/wasm.yml +53 -0
- data/.github/workflows/windows.yml +6 -0
- data/.gitignore +7 -0
- data/README.md +3 -3
- data/Rakefile +116 -1
- data/Steepfile +7 -0
- data/core/array.rbs +144 -144
- data/core/builtin.rbs +6 -6
- data/core/enumerable.rbs +109 -109
- data/core/enumerator/product.rbs +5 -5
- data/core/enumerator.rbs +28 -28
- data/core/file.rbs +24 -1018
- data/core/file_constants.rbs +463 -0
- data/core/file_stat.rbs +534 -0
- data/core/hash.rbs +117 -101
- data/core/integer.rbs +21 -58
- data/core/io.rbs +25 -7
- data/core/module.rbs +88 -74
- data/core/numeric.rbs +3 -0
- data/core/object_space/weak_key_map.rbs +7 -7
- data/core/range.rbs +23 -23
- data/core/rbs/ops.rbs +154 -0
- data/core/rbs/unnamed/argf.rbs +3 -3
- data/core/set.rbs +3 -3
- data/core/struct.rbs +16 -16
- data/core/thread.rbs +6 -6
- data/docs/CONTRIBUTING.md +2 -1
- data/docs/inline.md +36 -6
- data/docs/rbs_by_example.md +20 -20
- data/docs/syntax.md +2 -2
- data/docs/wasm_serialization.md +80 -0
- data/ext/rbs_extension/ast_translation.c +1294 -973
- data/ext/rbs_extension/ast_translation.h +4 -0
- data/ext/rbs_extension/main.c +139 -4
- data/include/rbs/ast.h +9 -1
- data/include/rbs/serialize.h +39 -0
- data/lib/rbs/ast/ruby/comment_block.rb +6 -4
- data/lib/rbs/ast/ruby/helpers/location_helper.rb +1 -1
- data/lib/rbs/ast/ruby/members.rb +12 -1
- data/lib/rbs/buffer.rb +48 -11
- data/lib/rbs/collection/sources/git.rb +6 -0
- data/lib/rbs/definition_builder/method_builder.rb +12 -6
- data/lib/rbs/environment.rb +4 -3
- data/lib/rbs/inline_parser.rb +5 -3
- data/lib/rbs/namespace.rb +47 -11
- data/lib/rbs/prototype/runtime.rb +2 -0
- data/lib/rbs/resolver/type_name_resolver.rb +12 -14
- data/lib/rbs/type_name.rb +33 -13
- data/lib/rbs/unit_test/type_assertions.rb +9 -0
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/wasm/deserializer.rb +213 -0
- data/lib/rbs/wasm/location.rb +61 -0
- data/lib/rbs/wasm/parser.rb +137 -0
- data/lib/rbs/wasm/runtime.rb +217 -0
- data/lib/rbs/wasm/serialization_schema.rb +110 -0
- data/lib/rbs.rb +13 -2
- data/rbs.gemspec +19 -2
- data/sig/ast/ruby/members.rbs +6 -1
- data/sig/buffer.rbs +19 -1
- data/sig/namespace.rbs +20 -0
- data/sig/parser.rbs +10 -0
- data/sig/resolver/type_name_resolver.rbs +2 -4
- data/sig/typename.rbs +15 -0
- data/sig/unit_test/type_assertions.rbs +4 -0
- data/sig/wasm/deserializer.rbs +66 -0
- data/sig/wasm/serialization_schema.rbs +13 -0
- data/src/ast.c +78 -78
- data/src/lexstate.c +5 -1
- data/src/serialize.c +958 -0
- data/src/util/rbs_allocator.c +1 -4
- data/stdlib/abbrev/0/array.rbs +1 -1
- data/stdlib/csv/0/csv.rbs +5 -5
- data/stdlib/digest/0/digest.rbs +1 -1
- data/stdlib/etc/0/etc.rbs +18 -4
- data/stdlib/fileutils/0/fileutils.rbs +21 -21
- data/stdlib/json/0/json.rbs +6 -6
- data/stdlib/openssl/0/openssl.rbs +5 -5
- data/stdlib/resolv/0/resolv.rbs +1 -1
- data/stdlib/shellwords/0/shellwords.rbs +1 -1
- data/stdlib/stringio/0/stringio.rbs +32 -10
- data/stdlib/strscan/0/string_scanner.rbs +74 -55
- data/stdlib/tsort/0/cyclic.rbs +1 -1
- data/stdlib/tsort/0/interfaces.rbs +8 -8
- data/stdlib/tsort/0/tsort.rbs +9 -9
- data/stdlib/zlib/0/gzip_reader.rbs +2 -2
- data/wasm/README.md +59 -0
- data/wasm/rbs_wasm.c +411 -0
- metadata +21 -5
- data/.vscode/extensions.json +0 -5
- data/.vscode/settings.json +0 -19
data/core/array.rbs
CHANGED
|
@@ -546,8 +546,8 @@
|
|
|
546
546
|
# given block.
|
|
547
547
|
#
|
|
548
548
|
%a{annotate:rdoc:source:from=array.c}
|
|
549
|
-
class Array[unchecked out
|
|
550
|
-
include Enumerable[
|
|
549
|
+
class Array[unchecked out E] < Object
|
|
550
|
+
include Enumerable[E]
|
|
551
551
|
|
|
552
552
|
# <!--
|
|
553
553
|
# rdoc-file=array.c
|
|
@@ -604,9 +604,9 @@ class Array[unchecked out Elem] < Object
|
|
|
604
604
|
# Array](rdoc-ref:Array@Methods+for+Creating+an+Array).
|
|
605
605
|
#
|
|
606
606
|
def initialize: () -> void
|
|
607
|
-
| (::Array[
|
|
608
|
-
| (int size, ?
|
|
609
|
-
| (int size) { (::Integer index) ->
|
|
607
|
+
| (::Array[E] ary) -> void
|
|
608
|
+
| (int size, ?E val) -> void
|
|
609
|
+
| (int size) { (::Integer index) -> E } -> void
|
|
610
610
|
|
|
611
611
|
# <!--
|
|
612
612
|
# rdoc-file=array.c
|
|
@@ -664,7 +664,7 @@ class Array[unchecked out Elem] < Object
|
|
|
664
664
|
#
|
|
665
665
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
666
666
|
#
|
|
667
|
-
def &: (::Array[untyped] | _ToAry[untyped]) -> ::Array[
|
|
667
|
+
def &: (::Array[untyped] | _ToAry[untyped]) -> ::Array[E]
|
|
668
668
|
|
|
669
669
|
# <!--
|
|
670
670
|
# rdoc-file=array.c
|
|
@@ -683,7 +683,7 @@ class Array[unchecked out Elem] < Object
|
|
|
683
683
|
# [0, [0, 1], {foo: 0}] * ', ' # => "0, 0, 1, {foo: 0}"
|
|
684
684
|
#
|
|
685
685
|
def *: (string str) -> ::String
|
|
686
|
-
| (int int) -> ::Array[
|
|
686
|
+
| (int int) -> ::Array[E]
|
|
687
687
|
|
|
688
688
|
# <!--
|
|
689
689
|
# rdoc-file=array.c
|
|
@@ -697,7 +697,7 @@ class Array[unchecked out Elem] < Object
|
|
|
697
697
|
#
|
|
698
698
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
699
699
|
#
|
|
700
|
-
def +: [U] (_ToAry[U]) -> ::Array[
|
|
700
|
+
def +: [U] (_ToAry[U]) -> ::Array[E | U]
|
|
701
701
|
|
|
702
702
|
# <!--
|
|
703
703
|
# rdoc-file=array.c
|
|
@@ -715,7 +715,7 @@ class Array[unchecked out Elem] < Object
|
|
|
715
715
|
#
|
|
716
716
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
717
717
|
#
|
|
718
|
-
def -: (_ToAry[untyped]) -> ::Array[
|
|
718
|
+
def -: (_ToAry[untyped]) -> ::Array[E]
|
|
719
719
|
|
|
720
720
|
# <!--
|
|
721
721
|
# rdoc-file=array.c
|
|
@@ -731,7 +731,7 @@ class Array[unchecked out Elem] < Object
|
|
|
731
731
|
#
|
|
732
732
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
733
733
|
#
|
|
734
|
-
def <<: (
|
|
734
|
+
def <<: (E) -> self
|
|
735
735
|
|
|
736
736
|
# <!--
|
|
737
737
|
# rdoc-file=array.c
|
|
@@ -918,9 +918,9 @@ class Array[unchecked out Elem] < Object
|
|
|
918
918
|
#
|
|
919
919
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
920
920
|
#
|
|
921
|
-
def []: %a{implicitly-returns-nil} (int index) ->
|
|
922
|
-
| (int start, int length) -> ::Array[
|
|
923
|
-
| (::Range[::Integer?] range) -> ::Array[
|
|
921
|
+
def []: %a{implicitly-returns-nil} (int index) -> E
|
|
922
|
+
| (int start, int length) -> ::Array[E]?
|
|
923
|
+
| (::Range[::Integer?] range) -> ::Array[E]?
|
|
924
924
|
|
|
925
925
|
# <!--
|
|
926
926
|
# rdoc-file=array.c
|
|
@@ -1068,12 +1068,12 @@ class Array[unchecked out Elem] < Object
|
|
|
1068
1068
|
#
|
|
1069
1069
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
1070
1070
|
#
|
|
1071
|
-
def []=: (int index,
|
|
1072
|
-
| (int start, int length,
|
|
1073
|
-
| (int start, int length, ::Array[
|
|
1071
|
+
def []=: (int index, E obj) -> E
|
|
1072
|
+
| (int start, int length, E obj) -> E
|
|
1073
|
+
| (int start, int length, ::Array[E]) -> ::Array[E]
|
|
1074
1074
|
| (int start, int length, nil) -> nil
|
|
1075
|
-
| (::Range[::Integer?],
|
|
1076
|
-
| (::Range[::Integer?], ::Array[
|
|
1075
|
+
| (::Range[::Integer?], E obj) -> E
|
|
1076
|
+
| (::Range[::Integer?], ::Array[E]) -> ::Array[E]
|
|
1077
1077
|
| (::Range[::Integer?], nil) -> nil
|
|
1078
1078
|
|
|
1079
1079
|
# <!--
|
|
@@ -1114,8 +1114,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1114
1114
|
# Related: see [Methods for Querying](rdoc-ref:Array@Methods+for+Querying).
|
|
1115
1115
|
#
|
|
1116
1116
|
def all?: () -> bool
|
|
1117
|
-
| (_Pattern[
|
|
1118
|
-
| () { (
|
|
1117
|
+
| (_Pattern[E] pattern) -> bool
|
|
1118
|
+
| () { (E obj) -> boolish } -> bool
|
|
1119
1119
|
|
|
1120
1120
|
# <!--
|
|
1121
1121
|
# rdoc-file=array.c
|
|
@@ -1211,7 +1211,7 @@ class Array[unchecked out Elem] < Object
|
|
|
1211
1211
|
# Related: Array#[]; see also [Methods for
|
|
1212
1212
|
# Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
1213
1213
|
#
|
|
1214
|
-
def at: %a{implicitly-returns-nil} (int index) ->
|
|
1214
|
+
def at: %a{implicitly-returns-nil} (int index) -> E
|
|
1215
1215
|
|
|
1216
1216
|
# <!--
|
|
1217
1217
|
# rdoc-file=array.c
|
|
@@ -1225,9 +1225,9 @@ class Array[unchecked out Elem] < Object
|
|
|
1225
1225
|
#
|
|
1226
1226
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
1227
1227
|
#
|
|
1228
|
-
def bsearch: () -> ::Enumerator[
|
|
1229
|
-
| () { (
|
|
1230
|
-
| () { (
|
|
1228
|
+
def bsearch: () -> ::Enumerator[E, E?]
|
|
1229
|
+
| () { (E) -> (true | false) } -> E?
|
|
1230
|
+
| () { (E) -> ::Integer } -> E?
|
|
1231
1231
|
|
|
1232
1232
|
# <!--
|
|
1233
1233
|
# rdoc-file=array.c
|
|
@@ -1241,8 +1241,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1241
1241
|
#
|
|
1242
1242
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
1243
1243
|
#
|
|
1244
|
-
def bsearch_index: () { (
|
|
1245
|
-
| () { (
|
|
1244
|
+
def bsearch_index: () { (E) -> (true | false) } -> ::Integer?
|
|
1245
|
+
| () { (E) -> ::Integer } -> ::Integer?
|
|
1246
1246
|
|
|
1247
1247
|
# <!--
|
|
1248
1248
|
# rdoc-file=array.c
|
|
@@ -1276,8 +1276,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1276
1276
|
# Related: #collect!; see also [Methods for
|
|
1277
1277
|
# Converting](rdoc-ref:Array@Methods+for+Converting).
|
|
1278
1278
|
#
|
|
1279
|
-
def collect: [U] () { (
|
|
1280
|
-
| () -> ::Enumerator[
|
|
1279
|
+
def collect: [U] () { (E item) -> U } -> ::Array[U]
|
|
1280
|
+
| () -> ::Enumerator[E, ::Array[untyped]]
|
|
1281
1281
|
|
|
1282
1282
|
# <!--
|
|
1283
1283
|
# rdoc-file=array.c
|
|
@@ -1297,8 +1297,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1297
1297
|
# Related: #collect; see also [Methods for
|
|
1298
1298
|
# Converting](rdoc-ref:Array@Methods+for+Converting).
|
|
1299
1299
|
#
|
|
1300
|
-
def collect!: () { (
|
|
1301
|
-
| () -> ::Enumerator[
|
|
1300
|
+
def collect!: () { (E item) -> E } -> self
|
|
1301
|
+
| () -> ::Enumerator[E, self]
|
|
1302
1302
|
|
|
1303
1303
|
# <!--
|
|
1304
1304
|
# rdoc-file=array.c
|
|
@@ -1342,8 +1342,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1342
1342
|
# Related: Array#permutation; see also [Methods for
|
|
1343
1343
|
# Iterating](rdoc-ref:Array@Methods+for+Iterating).
|
|
1344
1344
|
#
|
|
1345
|
-
def combination: (int n) { (::Array[
|
|
1346
|
-
| (int n) -> ::Enumerator[::Array[
|
|
1345
|
+
def combination: (int n) { (::Array[E]) -> void } -> self
|
|
1346
|
+
| (int n) -> ::Enumerator[::Array[E], self]
|
|
1347
1347
|
|
|
1348
1348
|
# <!--
|
|
1349
1349
|
# rdoc-file=array.c
|
|
@@ -1358,7 +1358,7 @@ class Array[unchecked out Elem] < Object
|
|
|
1358
1358
|
# Related: Array#compact!; see also [Methods for
|
|
1359
1359
|
# Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
1360
1360
|
#
|
|
1361
|
-
def compact: () -> ::Array[
|
|
1361
|
+
def compact: () -> ::Array[E]
|
|
1362
1362
|
|
|
1363
1363
|
# <!--
|
|
1364
1364
|
# rdoc-file=array.c
|
|
@@ -1389,7 +1389,7 @@ class Array[unchecked out Elem] < Object
|
|
|
1389
1389
|
#
|
|
1390
1390
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
1391
1391
|
#
|
|
1392
|
-
def concat: (*::Array[
|
|
1392
|
+
def concat: (*::Array[E] arrays) -> self
|
|
1393
1393
|
|
|
1394
1394
|
# <!--
|
|
1395
1395
|
# rdoc-file=array.c
|
|
@@ -1419,8 +1419,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1419
1419
|
# Related: see [Methods for Querying](rdoc-ref:Array@Methods+for+Querying).
|
|
1420
1420
|
#
|
|
1421
1421
|
def count: () -> ::Integer
|
|
1422
|
-
| (
|
|
1423
|
-
| () { (
|
|
1422
|
+
| (E obj) -> ::Integer
|
|
1423
|
+
| () { (E) -> boolish } -> ::Integer
|
|
1424
1424
|
|
|
1425
1425
|
# <!--
|
|
1426
1426
|
# rdoc-file=array.c
|
|
@@ -1454,8 +1454,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1454
1454
|
#
|
|
1455
1455
|
# Related: see [Methods for Iterating](rdoc-ref:Array@Methods+for+Iterating).
|
|
1456
1456
|
#
|
|
1457
|
-
def cycle: (?int? n) { (
|
|
1458
|
-
| (?int? n) -> ::Enumerator[
|
|
1457
|
+
def cycle: (?int? n) { (E) -> void } -> nil
|
|
1458
|
+
| (?int? n) -> ::Enumerator[E, nil]
|
|
1459
1459
|
|
|
1460
1460
|
# <!--
|
|
1461
1461
|
# rdoc-file=array.c
|
|
@@ -1499,8 +1499,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1499
1499
|
#
|
|
1500
1500
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
1501
1501
|
#
|
|
1502
|
-
def delete: (
|
|
1503
|
-
| [S, T] (S obj) { (S) -> T } -> (
|
|
1502
|
+
def delete: (E obj) -> E?
|
|
1503
|
+
| [S, T] (S obj) { (S) -> T } -> (E | T)
|
|
1504
1504
|
|
|
1505
1505
|
# <!--
|
|
1506
1506
|
# rdoc-file=array.c
|
|
@@ -1530,7 +1530,7 @@ class Array[unchecked out Elem] < Object
|
|
|
1530
1530
|
#
|
|
1531
1531
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
1532
1532
|
#
|
|
1533
|
-
def delete_at: %a{implicitly-returns-nil} (int index) ->
|
|
1533
|
+
def delete_at: %a{implicitly-returns-nil} (int index) -> E
|
|
1534
1534
|
|
|
1535
1535
|
# <!--
|
|
1536
1536
|
# rdoc-file=array.c
|
|
@@ -1547,8 +1547,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1547
1547
|
#
|
|
1548
1548
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
1549
1549
|
#
|
|
1550
|
-
def delete_if: () { (
|
|
1551
|
-
| () -> ::Enumerator[
|
|
1550
|
+
def delete_if: () { (E item) -> boolish } -> self
|
|
1551
|
+
| () -> ::Enumerator[E, self]
|
|
1552
1552
|
|
|
1553
1553
|
# <!--
|
|
1554
1554
|
# rdoc-file=array.c
|
|
@@ -1568,7 +1568,7 @@ class Array[unchecked out Elem] < Object
|
|
|
1568
1568
|
# Related: Array#-; see also [Methods for
|
|
1569
1569
|
# Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
1570
1570
|
#
|
|
1571
|
-
def difference: (*::Array[untyped] arrays) -> ::Array[
|
|
1571
|
+
def difference: (*::Array[untyped] arrays) -> ::Array[E]
|
|
1572
1572
|
|
|
1573
1573
|
# <!--
|
|
1574
1574
|
# rdoc-file=array.c
|
|
@@ -1588,7 +1588,7 @@ class Array[unchecked out Elem] < Object
|
|
|
1588
1588
|
#
|
|
1589
1589
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
1590
1590
|
#
|
|
1591
|
-
def dig: (int idx) ->
|
|
1591
|
+
def dig: (int idx) -> E?
|
|
1592
1592
|
| (int idx, untyped, *untyped) -> untyped
|
|
1593
1593
|
|
|
1594
1594
|
# <!--
|
|
@@ -1608,7 +1608,7 @@ class Array[unchecked out Elem] < Object
|
|
|
1608
1608
|
#
|
|
1609
1609
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
1610
1610
|
#
|
|
1611
|
-
def drop: (int n) -> ::Array[
|
|
1611
|
+
def drop: (int n) -> ::Array[E]
|
|
1612
1612
|
|
|
1613
1613
|
# <!--
|
|
1614
1614
|
# rdoc-file=array.c
|
|
@@ -1627,8 +1627,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1627
1627
|
#
|
|
1628
1628
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
1629
1629
|
#
|
|
1630
|
-
def drop_while: () { (
|
|
1631
|
-
| () -> ::Enumerator[
|
|
1630
|
+
def drop_while: () { (E obj) -> boolish } -> ::Array[E]
|
|
1631
|
+
| () -> ::Enumerator[E, ::Array[E]]
|
|
1632
1632
|
|
|
1633
1633
|
# <!--
|
|
1634
1634
|
# rdoc-file=array.c
|
|
@@ -1661,8 +1661,8 @@ class Array[unchecked out Elem] < Object
|
|
|
1661
1661
|
#
|
|
1662
1662
|
# Related: see [Methods for Iterating](rdoc-ref:Array@Methods+for+Iterating).
|
|
1663
1663
|
#
|
|
1664
|
-
def each: () -> ::Enumerator[
|
|
1665
|
-
| () { (
|
|
1664
|
+
def each: () -> ::Enumerator[E, self]
|
|
1665
|
+
| () { (E item) -> void } -> self
|
|
1666
1666
|
|
|
1667
1667
|
# <!--
|
|
1668
1668
|
# rdoc-file=array.c
|
|
@@ -1769,9 +1769,9 @@ class Array[unchecked out Elem] < Object
|
|
|
1769
1769
|
#
|
|
1770
1770
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
1771
1771
|
#
|
|
1772
|
-
def fetch: (int index) ->
|
|
1773
|
-
| [T] (int index, T default) -> (
|
|
1774
|
-
| [T] (int index) { (int index) -> T } -> (
|
|
1772
|
+
def fetch: (int index) -> E
|
|
1773
|
+
| [T] (int index, T default) -> (E | T)
|
|
1774
|
+
| [T] (int index) { (int index) -> T } -> (E | T)
|
|
1775
1775
|
|
|
1776
1776
|
# <!--
|
|
1777
1777
|
# rdoc-file=array.rb
|
|
@@ -1988,11 +1988,11 @@ class Array[unchecked out Elem] < Object
|
|
|
1988
1988
|
#
|
|
1989
1989
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
1990
1990
|
#
|
|
1991
|
-
def fill: (
|
|
1992
|
-
| (
|
|
1993
|
-
| (
|
|
1994
|
-
| (?int? start, ?int? length) { (::Integer index) ->
|
|
1995
|
-
| (::Range[::Integer] range) { (::Integer index) ->
|
|
1991
|
+
def fill: (E obj) -> self
|
|
1992
|
+
| (E obj, int? start, ?int? length) -> self
|
|
1993
|
+
| (E obj, ::Range[::Integer] range) -> self
|
|
1994
|
+
| (?int? start, ?int? length) { (::Integer index) -> E } -> self
|
|
1995
|
+
| (::Range[::Integer] range) { (::Integer index) -> E } -> self
|
|
1996
1996
|
|
|
1997
1997
|
# <!-- rdoc-file=array.c -->
|
|
1998
1998
|
# With a block given, calls the block with each element of `self`; returns a new
|
|
@@ -2007,8 +2007,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2007
2007
|
#
|
|
2008
2008
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
2009
2009
|
#
|
|
2010
|
-
def filter: () { (
|
|
2011
|
-
| () -> ::Enumerator[
|
|
2010
|
+
def filter: () { (E item) -> boolish } -> ::Array[E]
|
|
2011
|
+
| () -> ::Enumerator[E, ::Array[E]]
|
|
2012
2012
|
|
|
2013
2013
|
# <!-- rdoc-file=array.c -->
|
|
2014
2014
|
# With a block given, calls the block with each element of `self`; removes from
|
|
@@ -2025,8 +2025,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2025
2025
|
#
|
|
2026
2026
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
2027
2027
|
#
|
|
2028
|
-
def filter!: () { (
|
|
2029
|
-
| () -> ::Enumerator[
|
|
2028
|
+
def filter!: () { (E item) -> boolish } -> self?
|
|
2029
|
+
| () -> ::Enumerator[E, self?]
|
|
2030
2030
|
|
|
2031
2031
|
# <!--
|
|
2032
2032
|
# rdoc-file=array.c
|
|
@@ -2047,10 +2047,10 @@ class Array[unchecked out Elem] < Object
|
|
|
2047
2047
|
#
|
|
2048
2048
|
# With no block given, returns an Enumerator.
|
|
2049
2049
|
#
|
|
2050
|
-
def find: () { (
|
|
2051
|
-
| () -> ::Enumerator[
|
|
2052
|
-
| [T] (Enumerable::_NotFound[T] ifnone) { (
|
|
2053
|
-
| [T] (Enumerable::_NotFound[T] ifnone) -> ::Enumerator[
|
|
2050
|
+
def find: () { (E) -> boolish } -> E?
|
|
2051
|
+
| () -> ::Enumerator[E, E?]
|
|
2052
|
+
| [T] (Enumerable::_NotFound[T] ifnone) { (E) -> boolish } -> (E | T)
|
|
2053
|
+
| [T] (Enumerable::_NotFound[T] ifnone) -> ::Enumerator[E, E | T]
|
|
2054
2054
|
|
|
2055
2055
|
# <!--
|
|
2056
2056
|
# rdoc-file=array.c
|
|
@@ -2084,8 +2084,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2084
2084
|
# Related: see [Methods for Querying](rdoc-ref:Array@Methods+for+Querying).
|
|
2085
2085
|
#
|
|
2086
2086
|
def find_index: (untyped obj) -> ::Integer?
|
|
2087
|
-
| () { (
|
|
2088
|
-
| () -> ::Enumerator[
|
|
2087
|
+
| () { (E item) -> boolish } -> ::Integer?
|
|
2088
|
+
| () -> ::Enumerator[E, ::Integer?]
|
|
2089
2089
|
|
|
2090
2090
|
# <!--
|
|
2091
2091
|
# rdoc-file=array.rb
|
|
@@ -2113,8 +2113,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2113
2113
|
#
|
|
2114
2114
|
# Related: see [Methods for Querying](rdoc-ref:Array@Methods+for+Querying).
|
|
2115
2115
|
#
|
|
2116
|
-
def first: %a{implicitly-returns-nil} () ->
|
|
2117
|
-
| (int n) -> ::Array[
|
|
2116
|
+
def first: %a{implicitly-returns-nil} () -> E
|
|
2117
|
+
| (int n) -> ::Array[E]
|
|
2118
2118
|
|
|
2119
2119
|
# <!--
|
|
2120
2120
|
# rdoc-file=array.c
|
|
@@ -2278,7 +2278,7 @@ class Array[unchecked out Elem] < Object
|
|
|
2278
2278
|
#
|
|
2279
2279
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
2280
2280
|
#
|
|
2281
|
-
def insert: (int index, *
|
|
2281
|
+
def insert: (int index, *E obj) -> self
|
|
2282
2282
|
|
|
2283
2283
|
# <!--
|
|
2284
2284
|
# rdoc-file=array.c
|
|
@@ -2331,7 +2331,7 @@ class Array[unchecked out Elem] < Object
|
|
|
2331
2331
|
#
|
|
2332
2332
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
2333
2333
|
#
|
|
2334
|
-
def intersection: (*::Array[untyped] | _ToAry[untyped] other_ary) -> ::Array[
|
|
2334
|
+
def intersection: (*::Array[untyped] | _ToAry[untyped] other_ary) -> ::Array[E]
|
|
2335
2335
|
|
|
2336
2336
|
# <!--
|
|
2337
2337
|
# rdoc-file=array.c
|
|
@@ -2380,8 +2380,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2380
2380
|
#
|
|
2381
2381
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
2382
2382
|
#
|
|
2383
|
-
def keep_if: () { (
|
|
2384
|
-
| () -> ::Enumerator[
|
|
2383
|
+
def keep_if: () { (E item) -> boolish } -> self
|
|
2384
|
+
| () -> ::Enumerator[E, self]
|
|
2385
2385
|
|
|
2386
2386
|
# <!--
|
|
2387
2387
|
# rdoc-file=array.rb
|
|
@@ -2408,8 +2408,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2408
2408
|
#
|
|
2409
2409
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
2410
2410
|
#
|
|
2411
|
-
def last: %a{implicitly-returns-nil} () ->
|
|
2412
|
-
| (int n) -> ::Array[
|
|
2411
|
+
def last: %a{implicitly-returns-nil} () -> E
|
|
2412
|
+
| (int n) -> ::Array[E]
|
|
2413
2413
|
|
|
2414
2414
|
# <!--
|
|
2415
2415
|
# rdoc-file=array.c
|
|
@@ -2502,10 +2502,10 @@ class Array[unchecked out Elem] < Object
|
|
|
2502
2502
|
#
|
|
2503
2503
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
2504
2504
|
#
|
|
2505
|
-
def max: %a{implicitly-returns-nil} () ->
|
|
2506
|
-
| %a{implicitly-returns-nil} () { (
|
|
2507
|
-
| (int n) -> ::Array[
|
|
2508
|
-
| (int n) { (
|
|
2505
|
+
def max: %a{implicitly-returns-nil} () -> E
|
|
2506
|
+
| %a{implicitly-returns-nil} () { (E a, E b) -> ::Integer? } -> E
|
|
2507
|
+
| (int n) -> ::Array[E]
|
|
2508
|
+
| (int n) { (E a, E b) -> ::Integer? } -> ::Array[E]
|
|
2509
2509
|
|
|
2510
2510
|
# <!--
|
|
2511
2511
|
# rdoc-file=array.c
|
|
@@ -2579,8 +2579,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2579
2579
|
#
|
|
2580
2580
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
2581
2581
|
#
|
|
2582
|
-
def minmax: () -> [
|
|
2583
|
-
| () { (
|
|
2582
|
+
def minmax: () -> [ E?, E? ]
|
|
2583
|
+
| () { (E a, E b) -> ::Integer? } -> [ E?, E? ]
|
|
2584
2584
|
|
|
2585
2585
|
# <!--
|
|
2586
2586
|
# rdoc-file=array.c
|
|
@@ -2704,8 +2704,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2704
2704
|
#
|
|
2705
2705
|
# Related: [Methods for Iterating](rdoc-ref:Array@Methods+for+Iterating).
|
|
2706
2706
|
#
|
|
2707
|
-
def permutation: (?int n) -> ::Enumerator[::Array[
|
|
2708
|
-
| (?int n) { (::Array[
|
|
2707
|
+
def permutation: (?int n) -> ::Enumerator[::Array[E], ::Array[E]]
|
|
2708
|
+
| (?int n) { (::Array[E] p) -> void } -> ::Array[E]
|
|
2709
2709
|
|
|
2710
2710
|
# <!--
|
|
2711
2711
|
# rdoc-file=array.c
|
|
@@ -2736,8 +2736,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2736
2736
|
# Related: Array#push; see also [Methods for
|
|
2737
2737
|
# Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
2738
2738
|
#
|
|
2739
|
-
def pop: () ->
|
|
2740
|
-
| (int n) -> ::Array[
|
|
2739
|
+
def pop: () -> E?
|
|
2740
|
+
| (int n) -> ::Array[E]
|
|
2741
2741
|
|
|
2742
2742
|
# <!-- rdoc-file=array.c -->
|
|
2743
2743
|
# Prepends the given `objects` to `self`:
|
|
@@ -2803,10 +2803,10 @@ class Array[unchecked out Elem] < Object
|
|
|
2803
2803
|
#
|
|
2804
2804
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
2805
2805
|
#
|
|
2806
|
-
def product: () -> ::Array[[
|
|
2807
|
-
| [X] (::Array[X] other_ary) -> ::Array[[
|
|
2808
|
-
| [X, Y] (::Array[X] other_ary1, ::Array[Y] other_ary2) -> ::Array[[
|
|
2809
|
-
| [U] (*::Array[U] other_arys) -> ::Array[::Array[
|
|
2806
|
+
def product: () -> ::Array[[ E ]]
|
|
2807
|
+
| [X] (::Array[X] other_ary) -> ::Array[[ E, X ]]
|
|
2808
|
+
| [X, Y] (::Array[X] other_ary1, ::Array[Y] other_ary2) -> ::Array[[ E, X, Y ]]
|
|
2809
|
+
| [U] (*::Array[U] other_arys) -> ::Array[::Array[E | U]]
|
|
2810
2810
|
|
|
2811
2811
|
# <!--
|
|
2812
2812
|
# rdoc-file=array.c
|
|
@@ -2825,7 +2825,7 @@ class Array[unchecked out Elem] < Object
|
|
|
2825
2825
|
#
|
|
2826
2826
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
2827
2827
|
#
|
|
2828
|
-
def push: (*
|
|
2828
|
+
def push: (*E obj) -> self
|
|
2829
2829
|
|
|
2830
2830
|
# <!--
|
|
2831
2831
|
# rdoc-file=array.c
|
|
@@ -2882,8 +2882,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2882
2882
|
#
|
|
2883
2883
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
2884
2884
|
#
|
|
2885
|
-
def reject!: () { (
|
|
2886
|
-
| () -> ::Enumerator[
|
|
2885
|
+
def reject!: () { (E item) -> boolish } -> self?
|
|
2886
|
+
| () -> ::Enumerator[E, self?]
|
|
2887
2887
|
|
|
2888
2888
|
# <!--
|
|
2889
2889
|
# rdoc-file=array.c
|
|
@@ -2922,8 +2922,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2922
2922
|
#
|
|
2923
2923
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
2924
2924
|
#
|
|
2925
|
-
def repeated_combination: (int n) { (::Array[
|
|
2926
|
-
| (int n) -> ::Enumerator[::Array[
|
|
2925
|
+
def repeated_combination: (int n) { (::Array[E] c) -> void } -> self
|
|
2926
|
+
| (int n) -> ::Enumerator[::Array[E], self]
|
|
2927
2927
|
|
|
2928
2928
|
# <!--
|
|
2929
2929
|
# rdoc-file=array.c
|
|
@@ -2962,8 +2962,8 @@ class Array[unchecked out Elem] < Object
|
|
|
2962
2962
|
#
|
|
2963
2963
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
2964
2964
|
#
|
|
2965
|
-
def repeated_permutation: (int n) { (::Array[
|
|
2966
|
-
| (int n) -> ::Enumerator[::Array[
|
|
2965
|
+
def repeated_permutation: (int n) { (::Array[E] p) -> void } -> self
|
|
2966
|
+
| (int n) -> ::Enumerator[::Array[E], self]
|
|
2967
2967
|
|
|
2968
2968
|
# <!-- rdoc-file=array.c -->
|
|
2969
2969
|
# Replaces the elements of `self` with the elements of `other_array`, which must
|
|
@@ -2976,7 +2976,7 @@ class Array[unchecked out Elem] < Object
|
|
|
2976
2976
|
#
|
|
2977
2977
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
2978
2978
|
#
|
|
2979
|
-
def replace: (::Array[
|
|
2979
|
+
def replace: (::Array[E]) -> self
|
|
2980
2980
|
|
|
2981
2981
|
# <!--
|
|
2982
2982
|
# rdoc-file=array.c
|
|
@@ -2988,7 +2988,7 @@ class Array[unchecked out Elem] < Object
|
|
|
2988
2988
|
#
|
|
2989
2989
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
2990
2990
|
#
|
|
2991
|
-
def reverse: () -> ::Array[
|
|
2991
|
+
def reverse: () -> ::Array[E]
|
|
2992
2992
|
|
|
2993
2993
|
# <!--
|
|
2994
2994
|
# rdoc-file=array.c
|
|
@@ -3002,7 +3002,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3002
3002
|
#
|
|
3003
3003
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
3004
3004
|
#
|
|
3005
|
-
def reverse!: () -> ::Array[
|
|
3005
|
+
def reverse!: () -> ::Array[E]
|
|
3006
3006
|
|
|
3007
3007
|
# <!--
|
|
3008
3008
|
# rdoc-file=array.c
|
|
@@ -3026,8 +3026,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3026
3026
|
#
|
|
3027
3027
|
# Related: see [Methods for Iterating](rdoc-ref:Array@Methods+for+Iterating).
|
|
3028
3028
|
#
|
|
3029
|
-
def reverse_each: () { (
|
|
3030
|
-
| () -> ::Enumerator[
|
|
3029
|
+
def reverse_each: () { (E item) -> void } -> self
|
|
3030
|
+
| () -> ::Enumerator[E, self]
|
|
3031
3031
|
|
|
3032
3032
|
# <!--
|
|
3033
3033
|
# rdoc-file=array.c
|
|
@@ -3049,10 +3049,10 @@ class Array[unchecked out Elem] < Object
|
|
|
3049
3049
|
#
|
|
3050
3050
|
# With no block given, returns an Enumerator.
|
|
3051
3051
|
#
|
|
3052
|
-
def rfind: () { (
|
|
3053
|
-
| () -> ::Enumerator[
|
|
3054
|
-
| [T] (Enumerable::_NotFound[T] ifnone) { (
|
|
3055
|
-
| [T] (Enumerable::_NotFound[T] ifnone) -> ::Enumerator[
|
|
3052
|
+
def rfind: () { (E) -> boolish } -> E?
|
|
3053
|
+
| () -> ::Enumerator[E, E?]
|
|
3054
|
+
| [T] (Enumerable::_NotFound[T] ifnone) { (E) -> boolish } -> (E | T)
|
|
3055
|
+
| [T] (Enumerable::_NotFound[T] ifnone) -> ::Enumerator[E, E | T]
|
|
3056
3056
|
|
|
3057
3057
|
# <!--
|
|
3058
3058
|
# rdoc-file=array.c
|
|
@@ -3084,8 +3084,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3084
3084
|
# Related: see [Methods for Querying](rdoc-ref:Array@Methods+for+Querying).
|
|
3085
3085
|
#
|
|
3086
3086
|
def rindex: (untyped obj) -> ::Integer?
|
|
3087
|
-
| () { (
|
|
3088
|
-
| () -> ::Enumerator[
|
|
3087
|
+
| () { (E item) -> boolish } -> ::Integer?
|
|
3088
|
+
| () -> ::Enumerator[E, ::Integer?]
|
|
3089
3089
|
|
|
3090
3090
|
# <!--
|
|
3091
3091
|
# rdoc-file=array.c
|
|
@@ -3120,7 +3120,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3120
3120
|
#
|
|
3121
3121
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3122
3122
|
#
|
|
3123
|
-
def rotate: (?int count) -> ::Array[
|
|
3123
|
+
def rotate: (?int count) -> ::Array[E]
|
|
3124
3124
|
|
|
3125
3125
|
# <!--
|
|
3126
3126
|
# rdoc-file=array.c
|
|
@@ -3206,8 +3206,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3206
3206
|
#
|
|
3207
3207
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3208
3208
|
#
|
|
3209
|
-
def sample: %a{implicitly-returns-nil} (?random: _Rand rng) ->
|
|
3210
|
-
| (int n, ?random: _Rand rng) -> ::Array[
|
|
3209
|
+
def sample: %a{implicitly-returns-nil} (?random: _Rand rng) -> E
|
|
3210
|
+
| (int n, ?random: _Rand rng) -> ::Array[E]
|
|
3211
3211
|
|
|
3212
3212
|
# <!--
|
|
3213
3213
|
# rdoc-file=array.c
|
|
@@ -3228,8 +3228,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3228
3228
|
#
|
|
3229
3229
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3230
3230
|
#
|
|
3231
|
-
def select: () { (
|
|
3232
|
-
| () -> ::Enumerator[
|
|
3231
|
+
def select: () { (E item) -> boolish } -> ::Array[E]
|
|
3232
|
+
| () -> ::Enumerator[E, ::Array[E]]
|
|
3233
3233
|
|
|
3234
3234
|
# <!--
|
|
3235
3235
|
# rdoc-file=array.c
|
|
@@ -3252,8 +3252,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3252
3252
|
#
|
|
3253
3253
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
3254
3254
|
#
|
|
3255
|
-
def select!: () { (
|
|
3256
|
-
| () -> ::Enumerator[
|
|
3255
|
+
def select!: () { (E item) -> boolish } -> self?
|
|
3256
|
+
| () -> ::Enumerator[E, self?]
|
|
3257
3257
|
|
|
3258
3258
|
# <!--
|
|
3259
3259
|
# rdoc-file=array.c
|
|
@@ -3291,8 +3291,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3291
3291
|
#
|
|
3292
3292
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
3293
3293
|
#
|
|
3294
|
-
def shift: %a{implicitly-returns-nil} () ->
|
|
3295
|
-
| (int n) -> ::Array[
|
|
3294
|
+
def shift: %a{implicitly-returns-nil} () -> E
|
|
3295
|
+
| (int n) -> ::Array[E]
|
|
3296
3296
|
|
|
3297
3297
|
# <!--
|
|
3298
3298
|
# rdoc-file=array.rb
|
|
@@ -3316,7 +3316,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3316
3316
|
#
|
|
3317
3317
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3318
3318
|
#
|
|
3319
|
-
def shuffle: (?random: _Rand rng) -> ::Array[
|
|
3319
|
+
def shuffle: (?random: _Rand rng) -> ::Array[E]
|
|
3320
3320
|
|
|
3321
3321
|
# <!--
|
|
3322
3322
|
# rdoc-file=array.rb
|
|
@@ -3464,9 +3464,9 @@ class Array[unchecked out Elem] < Object
|
|
|
3464
3464
|
#
|
|
3465
3465
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3466
3466
|
#
|
|
3467
|
-
def slice: %a{implicitly-returns-nil} (int index) ->
|
|
3468
|
-
| (int start, int length) -> ::Array[
|
|
3469
|
-
| (::Range[::Integer] range) -> ::Array[
|
|
3467
|
+
def slice: %a{implicitly-returns-nil} (int index) -> E
|
|
3468
|
+
| (int start, int length) -> ::Array[E]?
|
|
3469
|
+
| (::Range[::Integer] range) -> ::Array[E]?
|
|
3470
3470
|
|
|
3471
3471
|
# <!--
|
|
3472
3472
|
# rdoc-file=array.c
|
|
@@ -3558,9 +3558,9 @@ class Array[unchecked out Elem] < Object
|
|
|
3558
3558
|
#
|
|
3559
3559
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
3560
3560
|
#
|
|
3561
|
-
def slice!: %a{implicitly-returns-nil} (int index) ->
|
|
3562
|
-
| (int start, int length) -> ::Array[
|
|
3563
|
-
| (::Range[::Integer] range) -> ::Array[
|
|
3561
|
+
def slice!: %a{implicitly-returns-nil} (int index) -> E
|
|
3562
|
+
| (int start, int length) -> ::Array[E]?
|
|
3563
|
+
| (::Range[::Integer] range) -> ::Array[E]?
|
|
3564
3564
|
|
|
3565
3565
|
# <!--
|
|
3566
3566
|
# rdoc-file=array.c
|
|
@@ -3595,8 +3595,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3595
3595
|
#
|
|
3596
3596
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3597
3597
|
#
|
|
3598
|
-
def sort: () -> ::Array[
|
|
3599
|
-
| () { (
|
|
3598
|
+
def sort: () -> ::Array[E]
|
|
3599
|
+
| () { (E a, E b) -> ::Integer } -> ::Array[E]
|
|
3600
3600
|
|
|
3601
3601
|
# <!--
|
|
3602
3602
|
# rdoc-file=array.c
|
|
@@ -3608,7 +3608,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3608
3608
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
3609
3609
|
#
|
|
3610
3610
|
def sort!: () -> self
|
|
3611
|
-
| () { (
|
|
3611
|
+
| () { (E a, E b) -> ::Integer } -> self
|
|
3612
3612
|
|
|
3613
3613
|
# <!--
|
|
3614
3614
|
# rdoc-file=array.c
|
|
@@ -3631,8 +3631,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3631
3631
|
#
|
|
3632
3632
|
# Related: see [Methods for Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
3633
3633
|
#
|
|
3634
|
-
def sort_by!: [U] () { (
|
|
3635
|
-
| () -> ::Enumerator[
|
|
3634
|
+
def sort_by!: [U] () { (E obj) -> U } -> ::Array[E]
|
|
3635
|
+
| () -> ::Enumerator[E, ::Array[E]]
|
|
3636
3636
|
|
|
3637
3637
|
# <!--
|
|
3638
3638
|
# rdoc-file=array.c
|
|
@@ -3677,7 +3677,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3677
3677
|
# as Integer#+.
|
|
3678
3678
|
#
|
|
3679
3679
|
def sum: (?untyped init) -> untyped
|
|
3680
|
-
| (?untyped init) { (
|
|
3680
|
+
| (?untyped init) { (E e) -> untyped } -> untyped
|
|
3681
3681
|
|
|
3682
3682
|
# <!--
|
|
3683
3683
|
# rdoc-file=array.c
|
|
@@ -3694,7 +3694,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3694
3694
|
#
|
|
3695
3695
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3696
3696
|
#
|
|
3697
|
-
def take: (int n) -> ::Array[
|
|
3697
|
+
def take: (int n) -> ::Array[E]
|
|
3698
3698
|
|
|
3699
3699
|
# <!--
|
|
3700
3700
|
# rdoc-file=array.c
|
|
@@ -3716,8 +3716,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3716
3716
|
#
|
|
3717
3717
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3718
3718
|
#
|
|
3719
|
-
def take_while: () { (
|
|
3720
|
-
| () -> ::Enumerator[
|
|
3719
|
+
def take_while: () { (E obj) -> boolish } -> ::Array[E]
|
|
3720
|
+
| () -> ::Enumerator[E, ::Array[E]]
|
|
3721
3721
|
|
|
3722
3722
|
# <!--
|
|
3723
3723
|
# rdoc-file=array.c
|
|
@@ -3735,7 +3735,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3735
3735
|
#
|
|
3736
3736
|
# Related: see [Methods for Converting](rdoc-ref:Array@Methods+for+Converting).
|
|
3737
3737
|
#
|
|
3738
|
-
def to_a: () -> ::Array[
|
|
3738
|
+
def to_a: () -> ::Array[E]
|
|
3739
3739
|
|
|
3740
3740
|
# <!--
|
|
3741
3741
|
# rdoc-file=array.c
|
|
@@ -3770,7 +3770,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3770
3770
|
# Related: see [Methods for Converting](rdoc-ref:Array@Methods+for+Converting).
|
|
3771
3771
|
#
|
|
3772
3772
|
def to_h: () -> Hash[untyped, untyped]
|
|
3773
|
-
| [T, S] () { (
|
|
3773
|
+
| [T, S] () { (E) -> [ T, S ] } -> Hash[T, S]
|
|
3774
3774
|
|
|
3775
3775
|
# <!-- rdoc-file=array.c -->
|
|
3776
3776
|
# Returns the new string formed by calling method <code>#inspect</code> on each
|
|
@@ -3820,7 +3820,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3820
3820
|
#
|
|
3821
3821
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
3822
3822
|
#
|
|
3823
|
-
def union: [T] (*::Array[T] other_arys) -> ::Array[T |
|
|
3823
|
+
def union: [T] (*::Array[T] other_arys) -> ::Array[T | E]
|
|
3824
3824
|
|
|
3825
3825
|
# <!--
|
|
3826
3826
|
# rdoc-file=array.c
|
|
@@ -3846,8 +3846,8 @@ class Array[unchecked out Elem] < Object
|
|
|
3846
3846
|
#
|
|
3847
3847
|
# Related: [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
3848
3848
|
#
|
|
3849
|
-
def uniq: () -> ::Array[
|
|
3850
|
-
| () { (
|
|
3849
|
+
def uniq: () -> ::Array[E]
|
|
3850
|
+
| () { (E item) -> untyped } -> ::Array[E]
|
|
3851
3851
|
|
|
3852
3852
|
# <!--
|
|
3853
3853
|
# rdoc-file=array.c
|
|
@@ -3876,7 +3876,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3876
3876
|
# Related: see [Methods for Deleting](rdoc-ref:Array@Methods+for+Deleting).
|
|
3877
3877
|
#
|
|
3878
3878
|
def uniq!: () -> self?
|
|
3879
|
-
| () { (
|
|
3879
|
+
| () { (E) -> untyped } -> self?
|
|
3880
3880
|
|
|
3881
3881
|
# <!--
|
|
3882
3882
|
# rdoc-file=array.c
|
|
@@ -3891,7 +3891,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3891
3891
|
# Related: Array#shift; see also [Methods for
|
|
3892
3892
|
# Assigning](rdoc-ref:Array@Methods+for+Assigning).
|
|
3893
3893
|
#
|
|
3894
|
-
def unshift: (*
|
|
3894
|
+
def unshift: (*E obj) -> self
|
|
3895
3895
|
|
|
3896
3896
|
# <!--
|
|
3897
3897
|
# rdoc-file=array.c
|
|
@@ -3999,7 +3999,7 @@ class Array[unchecked out Elem] < Object
|
|
|
3999
3999
|
#
|
|
4000
4000
|
# Related: see [Methods for Fetching](rdoc-ref:Array@Methods+for+Fetching).
|
|
4001
4001
|
#
|
|
4002
|
-
def values_at: (*int | ::Range[::Integer] selector) -> ::Array[
|
|
4002
|
+
def values_at: (*int | ::Range[::Integer] selector) -> ::Array[E?]
|
|
4003
4003
|
|
|
4004
4004
|
# <!--
|
|
4005
4005
|
# rdoc-file=array.c
|
|
@@ -4093,9 +4093,9 @@ class Array[unchecked out Elem] < Object
|
|
|
4093
4093
|
#
|
|
4094
4094
|
# Related: see [Methods for Converting](rdoc-ref:Array@Methods+for+Converting).
|
|
4095
4095
|
#
|
|
4096
|
-
def zip: [U] (_Each[U] arg) -> Array[[
|
|
4096
|
+
def zip: [U] (_Each[U] arg) -> Array[[ E, U? ]]
|
|
4097
4097
|
| (_Each[untyped] arg, *_Each[untyped] args) -> Array[Array[untyped]]
|
|
4098
|
-
| [U] (_Each[U] arg) { ([
|
|
4098
|
+
| [U] (_Each[U] arg) { ([ E, U? ]) -> void } -> nil
|
|
4099
4099
|
| (_Each[untyped] arg, *_Each[untyped] args) { (Array[untyped]) -> void } -> nil
|
|
4100
4100
|
|
|
4101
4101
|
# <!--
|
|
@@ -4111,7 +4111,7 @@ class Array[unchecked out Elem] < Object
|
|
|
4111
4111
|
#
|
|
4112
4112
|
# Related: see [Methods for Combining](rdoc-ref:Array@Methods+for+Combining).
|
|
4113
4113
|
#
|
|
4114
|
-
def |: [T] (::Array[T] other_ary) -> ::Array[
|
|
4114
|
+
def |: [T] (::Array[T] other_ary) -> ::Array[E | T]
|
|
4115
4115
|
|
|
4116
4116
|
private
|
|
4117
4117
|
|