Tomasz Dąbrowski
e65fa4d7a2
implement Array.transpose
2017-11-17 12:39:34 +01:00
Yukihiro "Matz" Matsumoto
0c3ee0ba66
Add `Array#{permutation,combination}.
2017-10-20 10:38:58 +09:00
Yukihiro "Matz" Matsumoto
3c20c96f84
Use a new function: mrb_get_argc(); ref #3826
2017-10-17 15:23:32 +09:00
Christopher Aue
c956e17c02
Replaced Array#each with while loop for performance reasons
...
Example benchmark:
$ time build/bench/bin/mruby -e "Array.new(2_000_000){ |i| i }.index{ |i| i == 1_999_999 }"
Before:
real 0m0.934s
user 0m0.922s
sys 0m0.003s
After:
real 0m0.590s
user 0m0.583s
sys 0m0.007s
2017-08-26 15:57:25 +02:00
Christopher Aue
6c9013e22b
Removed unneeded block check in Array#uniq
2017-08-26 15:57:25 +02:00
Christopher Aue
f3fb43c729
Reimplemented Array#flatten with #flatten!
2017-08-26 15:57:25 +02:00
Yukihiro "Matz" Matsumoto
ef0b239704
Remove unnecessary inline function ary_elt.
...
And the function does not conform the naming convention anyway.
2017-08-11 12:57:37 +09:00
Christopher Aue
3359b86ec7
Improved speed of enumeration methods
2017-07-30 13:19:31 +02:00
Christopher Aue
a3bfd735a0
Added Array#bsearch_index
2017-07-28 23:51:49 +02:00
Christopher Aue
451574f142
Refactored Array#bsearch
2017-07-28 23:51:40 +02:00
Christopher Aue
8a6ce74b4d
Tested Array#bsearch more thoroughly
2017-07-28 17:15:35 +02:00
Yukihiro "Matz" Matsumoto
f26d00d9e8
Embed small size array elements in the heap.
...
It reduces the memory consumption and sometimes improve the
performance as well. For example, the consumed memory size
of `bench/bm_ao_render.rb` is reduced from 1.2GB to 1GB, and
its total execution time become 18.795 sec from 22.229 sec.
2017-07-27 16:13:06 +09:00
Yukihiro "Matz" Matsumoto
5d00e85314
Fixed out of bounds access; fix #3572 , ref #3553
2017-04-02 20:32:11 +09:00
Yukihiro "Matz" Matsumoto
5ec051fc34
Avoid inline local variable declarations; fix #3554
2017-03-28 18:22:05 +09:00
Kenji Okimoto
33f77fe367
Implement Array#slice!
2017-03-28 15:07:57 +09:00
Yukihiro "Matz" Matsumoto
739dad6e87
Fixed a memory problem in Array#to_h
...
Reported from Alex Snaps via Mathieu Leduc-Hamel,
both from shopify.com. Thank you!
2016-11-16 01:29:04 +09:00
Lukas Elmer
f02694ecc7
Update documentation of fetch
...
The sentence `Negative values of +index+ count from the end of the array.` can be interpreted that it only holds if a block is given. Clarify it.
2016-11-02 19:45:43 +01:00
Yukihiro "Matz" Matsumoto
817b884343
add #dig tests
2016-03-23 12:34:32 +09:00
Yukihiro "Matz" Matsumoto
daf83946bb
add #dig to Array,Hash and Struct
2016-03-23 11:49:28 +09:00
Yukihiro "Matz" Matsumoto
5c405dea3d
include changed from by quotes ("") to by brackets (<>); close #3032
2015-11-27 17:48:23 +09:00
takahashim
621487a0cd
add {Array|Hash|String}.try_convert
2015-11-24 08:39:39 +09:00
Seba Gamboa
25c8e95365
Revert "Mark core gems with mrbgem tag"
...
This reverts commit 5cdcce8dbd .
2015-10-21 14:31:13 -03:00
Seba Gamboa
13b552538a
Remove obvious warnings from docs
2015-10-20 12:48:31 -03:00
Seba Gamboa
5cdcce8dbd
Mark core gems with mrbgem tag
2015-10-20 12:16:47 -03:00
Yukihiro "Matz" Matsumoto
fafe86d364
Array#index to take block; fix #2968 close #2970
2015-10-01 22:35:06 +09:00
INOUE Yasuyuki
0d055559f1
Use #nil? instead of == nil.
2015-08-22 19:57:11 +09:00
Jun Hiroe
4e4929bc72
Rename extended xxxx class or module to xxxx class or module extension
2015-06-28 11:18:52 +09:00
Jun Hiroe
c69d1201e1
Fix typo; Replace extensional with extended
2015-06-28 00:05:58 +09:00
Mitsutaka Mimura
a0b12bf6b4
Add Array#to_h
2014-06-02 23:06:02 +09:00
Yukihiro "Matz" Matsumoto
6d6957078e
no one uses Array.try_convert, so removed it that discourages duck typing; close #2317
2014-05-25 23:18:45 +09:00
Yukihiro "Matz" Matsumoto
1519e441a0
use proper length for mrb_get_values_at()
...
separate mrb_range_beg_len() into two: the one truncates range into the
sequence size, and the one does not. #values_at uses the latter.
2014-05-03 23:35:24 +09:00
Yukihiro "Matz" Matsumoto
c3aa436e2c
Merge branch 'values_at' of https://github.com/take-cheeze/mruby into take-cheeze-values_at
2014-05-03 21:13:03 +09:00
Jun Hiroe
1aa885fae0
Delete unused variable in Array#delete_if
2014-05-03 01:41:41 +09:00
take_cheeze
44dc05f12a
Implement Struct#values_at and Array#values_at .
...
Add API `mrb_get_values_at()` to mruby/range.h .
2014-05-02 23:20:48 +09:00
Nobuyoshi Nakada
ab67c57f65
remove trailing spaces
2014-04-30 09:50:14 +09:00
Utkarsh Kukreti
6e9a088efb
Speed up Array#select! from O(n^2) to O(n).
2014-04-28 12:14:15 +05:30
Jun Hiroe
cdef46e3d9
Add Array#select_bang
2014-04-27 23:34:24 +09:00
Jun Hiroe
d6414fe112
Add Array#keep_if
2014-04-25 18:57:20 +09:00
Yukihiro "Matz" Matsumoto
49abcd4c02
resolve conflict
2014-04-25 04:43:10 +09:00
Jun Hiroe
d4bec4d657
Add Array#delete_if
2014-04-24 23:04:46 +09:00
ksss
4652c7caa0
Array#fill use kind_of? instead of respond_to?
2014-04-24 21:08:49 +09:00
ksss
f961d7abeb
Array#fill fix bug when argument use range object
2014-04-24 21:08:49 +09:00
Jun Hiroe
c81b9838bb
Add Array#bsearch
2014-04-24 21:04:13 +09:00
Yukihiro "Matz" Matsumoto
68027317b0
Array#insert: simpler (and faster) implementation; ref #2107
2014-04-23 00:25:50 +09:00
Jun Hiroe
a48e0018fd
Add Array#insert
2014-04-23 00:22:24 +09:00
Jun Hiroe
fcfab84560
Add Array#reject_bang
2014-04-21 13:52:50 +09:00
Jun Hiroe
931414305a
Add Array#delete_if
2014-04-21 01:40:39 +09:00
Jun Hiroe
cb5e6edb7f
Add a block argument with Array#uniq
2014-04-18 23:13:10 +09:00
Jun Hiroe
80646a7890
Add a block argument with Array#uniq_bang
2014-04-18 23:13:02 +09:00
Jun Hiroe
c471cea4d7
Add Array#uniq_bang test
2014-04-12 15:57:14 +09:00