using input as

control structure

Syntax
using input as source expression
   block


Purpose

You can use using input as to establish a new current input scope without actually initiating scanning of the data source belonging to that scope. This is useful if you want to establish the input scope in which a function will be called, or if you want to establish a single source on which you will perform a number of scanning operations in succession.

Example

The following process uses using input as to establish an input scope for a function:

  define integer function 
     sum-of-csv ()
  as
     local integer sum initial { 0 }
  
     repeat scan #current-input
     match white-space* digit+ => number white-space* ","?
        set sum to sum + number
     again              
  
     return sum
  
  process
     local integer total
  
     using input as file "numbers.csv"
        set total to sum-of-csv ()