summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-array-ext
AgeCommit message (Collapse)Author
2021-02-20Comment out `warn` used in the `Array#fetch` methoddearblue
I get an error because the current mruby does not have a `Kernel#warn` method. But the warning itself is useful and I'll just comment it out in case it's implemented in the future.
2021-01-26Revert "Minimize the changes in #5277"Yukihiro "Matz" Matsumoto
This reverts commit dc51d89ac22acc60b9bfeed87115863565b74085.
2021-01-22Minimize the changes in #5277Yukihiro "Matz" Matsumoto
Instead of including `mruby/presym.h` everywhere, we provided the fallback `mruby/presym.inc` under `include/mruby` directory, and specify `-I<build-dir>/include` before `-I<top-dir>/include` in `presym.rake`. So even when someone drops `-I<build-dir>/include` in compiler options, it just compiles without failure.
2021-01-11Avoid including `presym.inc` in existing header filesKOBAYASHI Shuji
Addressed an issue where existing programs linking `libmruby.a` could only be built by adding `<build-dir>/include` to compiler's include path.
2020-11-05Fix `A.new([[1,2],3]).flatten` to return `Array`.Yukihiro "Matz" Matsumoto
2020-10-22Prohibit array changes by "a"/"*" specifier of `mrb_get_args()`dearblue
The "a"/"*" specifier of the `mrb_get_args()` function will now return `const mrb_value *`. This is because it is difficult for the caller to check if it is an array object and write-barrier if necessary. And it requires calling `mrb_ary_modify()` on the unmodified array object, which is also difficult (this is similar to #5087).
2020-10-12Rename `MRB_TT_FIXNUM` to `MRB_TT_INTEGER`.Yukihiro "Matz" Matsumoto
We still have `#define MRB_TT_FIXNUM MRB_TT_INTEGER` for compatibility.
2020-10-12Use `mrb_funcall_id()` extensively.Yukihiro "Matz" Matsumoto
Except for support files e.g. `mruby-test/driver.c`, which are not target of symbol collection via `rake gensym`.
2020-06-25Use `mrb_get_argc()` to improve performance.Yukihiro "Matz" Matsumoto
2020-06-20Add `mrb_get_arg1()` that retrieves single (and only) argument.Yukihiro "Matz" Matsumoto
`mrb_get_arg1()` raises `ArgumentError` if the method does not receive one argument. And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function.
2020-01-21Delete duplicated `Array#delete_if` test.Hiroshi Mimaki
2020-01-21Delete duplicated `Array#delete_if`.Hiroshi Mimaki
2019-11-05Remove test that depend on `mruby-enumerator` from `mruby-array-ext`KOBAYASHI Shuji
`Object.const_defined?(:Enumerator)` is always false because `mruby-enumerator` is not specified in `test_dependency`. I don't think this test is necessary.
2019-10-14Fix the example of `Array#intersection` in the document [ci skip]KOBAYASHI Shuji
2019-10-14Add `Array#intersection` which is new in Ruby2.7.Yukihiro "Matz" Matsumoto
2019-10-14Move `Array#difference` just after `Array#-`.Yukihiro "Matz" Matsumoto
2019-10-14Fixed a bug in `Array#difference`.Yukihiro "Matz" Matsumoto
2019-09-26Use type predicate macros instead of `mrb_type` if possibleKOBAYASHI Shuji
For efficiency with `MRB_WORD_BOXING` (implement type predicate macros for all `enum mrb_vtype`).
2019-09-20Fix typo in `Array#difference` document [ci skip]KOBAYASHI Shuji
2019-09-16Add `filter` aliases for `Enumerable` and `Hash`.Yukihiro "Matz" Matsumoto
2019-09-16Add `Array#difference` method from Ruby2.6.Yukihiro "Matz" Matsumoto
2019-09-01`Array#permutation` with a negative argument should not yieldKOBAYASHI Shuji
Before this patch: $ bin/mruby -e '[1].permutation(-1){|v| p v}' #=> [1] After this patch (same as Ruby): $ bin/mruby -e '[1].permutation(-1){|v| p v}' #=> no output
2019-08-30`Array#(permutation|combination)` without block should return `self`KOBAYASHI Shuji
2019-07-26Drop dependency from `mruby-array-ext` to `mruby-enum-ext`KOBAYASHI Shuji
2019-07-25Refine `Array#(permutation|combination) test`KOBAYASHI Shuji
- No guarantees about the order in which the permutations/combinations are yielded. - Drop dependency on `Enumerator`.
2019-06-23Fix argument specs to `Array`KOBAYASHI Shuji
2019-05-31Comment out the empty `Array#bsearch_index` testKOBAYASHI Shuji
2019-05-25Name the return value of `mrb_range_beg_len()`dearblue
2019-04-06Move `Array#(append|prepend)` from core to `mruby-ary-ext`KOBAYASHI Shuji
They are not included in ISO standard.
2019-02-01Move `NONE` to `mrblib/enum.rb`KOBAYASHI Shuji
2018-11-25Fix wrong number of arguments in `Array#fetch`; fix #4170Yukihiro "Matz" Matsumoto
2018-11-19Removed `to_ary` conversion method.Yukihiro "Matz" Matsumoto
2018-11-19Removed `try_convert` method from Array and Hash.Yukihiro "Matz" Matsumoto
2018-11-19fix non-ASCII comment.Yukihiro "Matz" Matsumoto
2018-10-12Call `uniq!` for each union processing in `Array#union`.Yukihiro "Matz" Matsumoto
2018-09-26Add index to larger segment lists for performanceYukihiro "Matz" Matsumoto
2018-09-21Implement `Array#union` which is introduced in Ruby2.6.Yukihiro "Matz" Matsumoto
2018-09-20Improve performance of `Array#uniq!`.Yukihiro "Matz" Matsumoto
2018-09-20Make `#to_h` to take a block; [ruby-core:89088]Yukihiro "Matz" Matsumoto
2018-09-18Array size may be changed in `mrb_get_args()` reentry.Yukihiro "Matz" Matsumoto
fix #4116; fix #4117; fix #4118; fix #4119; fix #4120
2018-09-07Clear terminated spacedearblue
2017-11-17implement Array.transposeTomasz Dąbrowski
2017-10-20Add `Array#{permutation,combination}.Yukihiro "Matz" Matsumoto
2017-10-17Use a new function: `mrb_get_argc()`; ref #3826Yukihiro "Matz" Matsumoto
2017-08-26Replaced Array#each with while loop for performance reasonsChristopher Aue
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-26Removed unneeded block check in Array#uniqChristopher Aue
2017-08-26Reimplemented Array#flatten with #flatten!Christopher Aue
2017-08-11Remove unnecessary inline function `ary_elt`.Yukihiro "Matz" Matsumoto
And the function does not conform the naming convention anyway.
2017-07-30Improved speed of enumeration methodsChristopher Aue
2017-07-28Added Array#bsearch_indexChristopher Aue