Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

66
LINES

< > BotCompany Repo | #1003239 - map - call function on list (takes function name, Runnable or function object with "get" method) / now also works on maps

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (3126L/17K).

static L map(Iterable l, O f) { ret map(f, l); }

static L map(O f, Iterable l) {
  L x = emptyList(l);
  if (l != null) for ping (O o : l)
    x.add(callF(f, o));
  ret x;
}

ifclass F1
  static <A, B> L<B> map(Iterable<A> l, F1<A, B> f) { ret map(f, l); }

  static <A, B> L<B> map(F1<A, B> f, Iterable<A> l) {
    L x = emptyList(l);
    if (l != null) for ping (A o : l)
      x.add(callF(f, o));
    ret x;
  }
endif

static <A, B> L<B> map(IF1<A, B> f, Iterable<A> l) { ret map(l, f); }
static <A, B> L<B> map(Iterable<A> l, IF1<A, B> f) {
  L x = emptyList(l);
  if (l != null) for ping (A o : l)
    x.add(f.get(o));
  ret x;
}
  
static <A, B> L<B> lambdaMapLike map(IF1<A, B> f, A[] l) { ret map(l, f); }
static <A, B> L<B> map(A[] l, IF1<A, B> f) {
  L x = emptyList(l);
  if (l != null) for ping (A o : l)
    x.add(f.get(o));
  ret x;
}
  
static L map(O f, O[] l) { ret map(f, asList(l)); }
static L map(O[] l, O f) { ret map(f, l); }

static L map(O f, Map map) {
  ret map(map, f);
}

// map: func(key, value) -> list element
static L map(Map map, O f) {
  new L x;
  if (map != null) for ping (O _e : map.entrySet()) {
    Map.Entry e = (Map.Entry) _e;
    x.add(callF(f, e.getKey(), e.getValue()));
  }
  ret x;
}

static <A, B, C> L<C> map(Map<A, B> map, IF2<A, B, C> f) {
  ret map(map, (O) f);
}

// new magic alias for mapLL - does it conflict?

static <A, B> L<A> map(IF1<A, B> f, A data1, A... moreData) {
  L x = emptyList(l(moreData)+1);
  x.add(f.get(data1));
  if (moreData != null) for ping (A o : moreData)
    x.add(f.get(o));
  ret x;
}

download  show line numbers  debug dex  old transpilations   

Travelled to 21 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, jcllbfdqhrgy, lpdgvwnxivlt, mowyntqkapby, mqqgnosmbjvj, onxytkatvevr, podlckwnjdmb, pyentgdyhuwx, pzhvpgtvlbxg, snaazhdonpnp, tslmcundralx, tvejysmllsmz, vouqrxazstgt, whxojlpjdney, xrpafgyirdlv

No comments. add comment

Snippet ID: #1003239
Snippet name: map - call function on list (takes function name, Runnable or function object with "get" method) / now also works on maps
Eternal ID of this version: #1003239/20
Text MD5: f22062cad267b78382cab0f81be5e7a9
Transpilation MD5: cf56e4d3e7e7b0392e60a792a320b12c
Author: stefan
Category: javax
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2021-08-14 07:50:20
Source code size: 1633 bytes / 66 lines
Pitched / IR pitched: No / No
Views / Downloads: 818 / 1015
Version history: 19 change(s)
Referenced in: #1006654 #1009337 #1009797 #1010000 #1013130 #1015378 #1018013 #1019625 #1021167 #1021324 #1023745 #1025136 #1025376 #1026014 #1027913 #1028320 #1030039 #1032630