<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def select_t(self, t=None, out=bool):
 """ Return a time index array Return a boolean or integer index array, hereafter called 'ind' The array refers to the reference time vector self.ddataRef['t'] Parameters t : None / float / np.ndarray / list / tuple The time values to be selected: - None : ind matches all time values - float : ind is True only for the time closest to t - np.ndarray : ind is True only for the times closest to t - list (len()==2):
 ind is True for the times inside [t[0],t[1]] - tuple (len()==2):
 ind is True for times outside ]t[0];t[1][ out : type Specifies the type of the output index array: - bool : return a boolean array of shape (self.ddataRef['nt'],) - int : return the array as integers indices Return ------ ind : np.ndarray The array of indices, of dtype specified by keywordarg out """

        assert out in [bool,int]
        ind = _select_ind(t, self._ddataRef['t'], self._ddataRef['nt'])
        if out is int:
            ind = ind.nonzero()[0]
        return ind