Class StreamCdr

All Implemented Interfaces:
JepComponent, PostfixMathCommandI, Serializable

public class StreamCdr extends UnaryFunction implements JepComponent
Extract a stream with the first element removed. Typically used in conjunction with StreamCar to split a stream into its first element and the rest of the stream. For example:
[3..7] . chained(seq=>[car(seq),cdr(seq)])
Typically this method will only be called once per stream, if called multiple times, share an iterator so if an element is removed from one instance it will not be available for the other instances.
Since:
Jep 4.1, extensions 2.2
See Also:
  • Constructor Details

    • StreamCdr

      public StreamCdr()
  • Method Details

    • eval

      public Object eval(Object arg) throws EvaluationException
      Description copied from class: UnaryFunction
      Evaluate the function
      Specified by:
      eval in class UnaryFunction
      Parameters:
      arg - the single argument passed in
      Returns:
      the result of the function
      Throws:
      EvaluationException - on error
    • init

      public void init(Jep jep)
      Description copied from interface: JepComponent
      Initialize the component. This method is called whenever a component is added to Jep. Hence, it allows components to keep track of the other components they may rely on.
      Specified by:
      init in interface JepComponent
      Parameters:
      jep - the current Jep instance
    • getLightWeightInstance

      public JepComponent getLightWeightInstance()
      Description copied from interface: JepComponent
      Gets a light-weight instance suitable for using in multiple threads.
      Specified by:
      getLightWeightInstance in interface JepComponent
      Returns:
      either a new instance, null or 'this'.