public CoreObject xRxEach(CoreCall cc) throws InterpreterException { CoreObject yieldFunction = cc.argPop(); String delimiter = cc.getMemberDefaultString("sep", ""); String[] parts = getCurrentObject(cc).value.toString().split(delimiter); int partCount = parts.length; for (int i = 0; i < partCount; i++) { ClastCapsule args = new ClastCapsule(new Token(), new CoreString(parts[i])); args.next = new ClastCapsule(new Token(), new CoreNumber(i)); yieldFunction.execute(cc.flatCall(args)); } return getCurrentObject(cc); }