Yukihiro "Matz" Matsumoto
afca99a40b
Remove implicit conversion using to_int method.
...
The ISO standard does not include implicit type conversion using
`to_int`. This implicit conversion often causes vulnerability.
There will be no more attacks like #4120 .
In addition, we have added internal convenience method `__to_int` which
does type check and conversion (from floats).
2018-11-19 11:28:51 +09:00
Tomoyuki Sahara
91444c4747
replace quicksort with mergesort.
2018-10-18 13:07:47 +09:00
Yukihiro "Matz" Matsumoto
19d3bb2d90
Make #to_h to take a block; [ruby-core:89088]
2018-09-20 13:47:29 +09:00
ksss
e683c95e90
Refactoring for Enumerable#each_with_object
...
`each_with_object` arity should be 1
2018-03-27 23:09:10 +09:00
ksss
b1c8fad94a
Should raise TypeError instead of NoMethodError
2018-03-27 10:52:32 +09:00
ksss
5a7ce01f12
Support block yielding for Enumerable#zip
2018-03-27 10:51:59 +09:00
Yukihiro "Matz" Matsumoto
1a8483f17e
__sort_sub__ is a method defined in Array; fix #3970
...
Reorganize `__sort_sub__` arguments.
2018-03-16 14:49:51 +09:00
Yukihiro "Matz" Matsumoto
e4a9b4a3ad
`Enumerable#{one?,none?,all?,any?} to take pattern argument [Ruby2.5]
2017-12-25 23:43:43 +09:00
Yukihiro "Matz" Matsumoto
db8265f428
Add Comparable#uniq; CRuby2.4
2017-10-17 12:46:51 +09:00
Yukihiro "Matz" Matsumoto
7b8d784040
Reimplement sort method to reduce array copying.
2017-07-25 14:42:38 +09:00
Yukihiro "Matz" Matsumoto
6a992a2579
Merge pull request #3577 from okkez/fix-return-value-of-each-slice
...
Change return value of Enumerable#each_slice
2017-04-03 18:04:57 +09:00
Kenji Okimoto
cff54ab2f3
Change return value of Enumerable#each_slice
...
More compatibility to CRuby.
2017-04-03 16:46:47 +09:00
Kenji Okimoto
4975aa4c1c
Change return value of Enumberable#each_cons
...
More compatibility to CRuby.
2017-04-03 16:42:53 +09:00
ksss
1bf565ea04
Argument more strictly
2016-11-25 22:25:48 +09:00
ksss
c28a963bf4
Like a Enumerable#take
2016-11-25 22:20:33 +09:00
ksss
5134734541
Shouldn't call each method if size is 0
2016-11-24 10:35:15 +09:00
ksss
9e2faec8e4
Support object does'n have < method
2016-11-24 10:34:14 +09:00
ksss
7685783af4
Add regression test for Enumerable#cycle
2016-11-11 16:53:42 +09:00
ksss
126d55480d
Reimplement Enumerable#cycle
...
Fix pattern of infinite loop
And support all specs in https://github.com/ruby/spec/blob/27960d06e0ce92c37f074450f0eab4b0519b118c/core/enumerable/cycle_spec.rb without Enumerable#size
2016-11-11 16:53:42 +09:00
Yukihiro "Matz" Matsumoto
0e03a7f2a3
mruby-enum-ext: refine minmax
2016-03-30 01:12:18 +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
0aa83c503d
Enumerable#each_{cons,slice} to return enumerators
2015-09-27 00:04:34 +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
Jun Hiroe
3a21c9b6d7
Avoid block_given? in mrbgem:enum.rb to reduce method calls
2014-12-27 18:17:29 +09:00
Yukihiro "Matz" Matsumoto
cbbed40295
add nil#to_h; ref #2348
2014-06-05 13:20:17 +09:00
Yukihiro "Matz" Matsumoto
13728e203e
add Enumerable#to_h; ref #2348
2014-06-04 23:37:13 +09:00
Nobuyoshi Nakada
ab67c57f65
remove trailing spaces
2014-04-30 09:50:14 +09:00
Yukihiro "Matz" Matsumoto
950fe963ac
should have passed args to to_enum
2014-04-06 20:31:37 +09:00
Jun Hiroe
ca1bc5290e
Add to_enum unless block
2014-03-28 18:54:25 +09:00
Yukihiro "Matz" Matsumoto
fc51781402
Enumerable#cycle to return enumerator
2014-03-27 14:34:21 +09:00
Yukihiro "Matz" Matsumoto
69b4842a03
call to_a at the top of Enumerabl#zip; ref #1961
2014-03-27 14:25:33 +09:00
Jun Hiroe
c2ad8098a5
Support multiple values in Enumerable#zip
2014-03-27 14:09:29 +09:00
Jun Hiroe
68695d174c
Add Enumerable#zip
2014-03-27 14:09:29 +09:00
Yukihiro "Matz" Matsumoto
b042b951ce
Enumerable#find_index to support multiple values
2014-03-25 19:07:32 +09:00
Jun Hiroe
767ca3f76e
Enumerable#find_index
2014-03-25 16:14:19 +09:00
Yukihiro "Matz" Matsumoto
896dc002ca
use to_int to integer duck-type check
2014-03-25 12:29:29 +09:00
Yukihiro "Matz" Matsumoto
d7d54b6e69
Fix Enumerable#cycle; ref #1933
...
* add multi value support
* `each` method may not rewind the sequence so that `cycle` should save elements
2014-03-24 23:58:21 +09:00
Yukihiro "Matz" Matsumoto
915b158e89
Merge pull request #1933 from suzukaze/add-enum.cycle
...
Add Enumerable#cycle
2014-03-24 23:49:01 +09:00
Yukihiro "Matz" Matsumoto
aa5920aaae
Enumerable#reverse_each should not rely on mruby-array-ext gem
2014-03-24 23:44:23 +09:00
Jun Hiroe
381f126f1b
Add Enumerable#cycle
2014-03-24 20:24:23 +09:00
Yukihiro "Matz" Matsumoto
c326ab877e
improve Enumerable#reverse_each to be efficient
2014-03-24 18:39:06 +09:00
Jun Hiroe
70bbe9a894
Add Enumerable#reverse_each
2014-03-24 18:03:37 +09:00
Yukihiro "Matz" Matsumoto
53d6df3fdb
fix multiple value handling; ref #1931
2014-03-24 17:31:43 +09:00
Jun Hiroe
7e41e2ed0e
Enumerable#each_with_object
2014-03-24 16:26:23 +09:00
Yukihiro "Matz" Matsumoto
75eed54bba
move conditional out of loop
2014-03-24 00:24:02 +09:00
Yukihiro "Matz" Matsumoto
d05635e252
Enumerable#one? to prune iteration when count > 1; ref #1926
2014-03-24 00:13:37 +09:00