mirror of
https://github.com/erg-lang/erg.git
synced 2025-08-04 10:49:54 +00:00
feat(Array): add dedup
, partition
method
This commit is contained in:
parent
3a14bbe37e
commit
89d830c364
3 changed files with 26 additions and 4 deletions
|
@ -815,6 +815,23 @@ impl Context {
|
|||
);
|
||||
array_iterable.register_builtin_const(ITERATOR, vis, ValueObj::builtin_t(array_iter));
|
||||
array_.register_trait(arr_t.clone(), array_iterable);
|
||||
let t = fn1_met(
|
||||
array_t(T.clone(), TyParam::erased(Nat)),
|
||||
func1(T.clone(), Bool),
|
||||
tuple_t(vec![
|
||||
array_t(T.clone(), TyParam::erased(Nat)),
|
||||
array_t(T.clone(), TyParam::erased(Nat)),
|
||||
]),
|
||||
);
|
||||
array_.register_builtin_erg_impl(FUNC_PARTITION, t.quantify(), Immutable, Public);
|
||||
let t = fn_met(
|
||||
array_t(T.clone(), TyParam::erased(Nat)),
|
||||
vec![],
|
||||
None,
|
||||
vec![kw("f", or(func1(T.clone(), Bool), NoneType))],
|
||||
array_t(T.clone(), TyParam::erased(Nat)),
|
||||
);
|
||||
array_.register_builtin_erg_impl(FUNC_DEDUP, t, Immutable, Public);
|
||||
/* Set */
|
||||
let mut set_ =
|
||||
Self::builtin_poly_class(SET, vec![PS::t_nd(TY_T), PS::named_nd(TY_N, Nat)], 10);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue