nwsIFindTry               package:nws               R Documentation

_I_t_e_r_a_t_e _T_h_r_o_u_g_h _S_t_o_r_e_d _V_a_l_u_e_s _o_f _a _n_e_t_W_o_r_k_S_p_a_c_e _V_a_r_i_a_b_l_e

_D_e_s_c_r_i_p_t_i_o_n:

     Create a function that acts as a non-destructive iterator over the
     values of the specified variable.

_U_s_a_g_e:

     ## S4 method for signature 'netWorkSpace':
     nwsIFindTry(.Object, xName, defaultVal=NULL)

_A_r_g_u_m_e_n_t_s:

 .Object: a netWorkSpace class object.

   xName: character string specifying the name of the variable to be
          fetched.

defaultVal: value to return if 'xName' is not found in the
          netWorkSpace.

_D_e_t_a_i_l_s:

     The iterator function returned by the 'nwsIFindTry' method takes
     no arguments, and works somewhat like the 'nwsFindTry' method,
     specified with the same arguments that were passed to
     'nwsIFindTry'. The difference is that the 'nwsFindTry' method
     cannot iterate through the values of a variable; it always returns
     the same value until the variable is modified. The iterator
     function, however, maintains some state that allows it to see
     subsequent values. Each time the iterator function is called, it
     returns the next value in the variable. Once all values in the
     variable have been returned, the iterator function returns
     'defaultVal'. However, when new values are stored into the
     variable, the iterator function will return them, picking right up
     where it left off.

_S_e_e _A_l_s_o:

     'nwsFindTry', 'nwsIFind'

_E_x_a_m_p_l_e_s:

     ## Not run: 
     ws <- netWorkSpace('nws example')
     nwsStore(ws, 'x', 1)
     nwsStore(ws, 'x', 2)
     it <- nwsIFindTry(ws, 'x', NA)
     it()  # returns the value 1
     it()  # returns the value 2
     it()  # returns the value NA
     nwsStore(ws, 'x', 3)
     it()  # returns the value 3
     it()  # returns the value NA
     ## End(Not run)

