def ScalarArg._reset_stdtype()
@@stdtype = {
':i' => { 'pattern' => '(?:(?:%T[+-]?)%D+)' },
':n' => { 'pattern' => '(?:(?:%T[+-]?)(?:%D+(?:%T\.%D*)?' +
'(?:%T[eE]%D+)?|%T\.%D+(?:%T[eE]%D+)?))'
},
':s' => { 'pattern' => '(?:%T(?:\S|\0))+' },
':qs' => { 'pattern' => %q#"(?:\\"|[^"])*"|'(?:\\'|[^"])*|(?:%T(?:\S|\0))+#
},
':id' => { 'pattern' => '%T[a-zA-Z_](?:%T\w)*' },
':d' => { 'pattern' => '(?:%T(?:\S|\0))+',
'action' => %q%
reject( (_VAL_.nil? || !test(?d, _VAL_) ),
"in parameter '#{_PARAM_}' (\"#{_VAL_}\" is not a directory)")%
},
':if' => { 'pattern' => '%F(?:%T(?:\S|\0))+',
'action' => %q%
reject( (_VAL_.nil? || _VAL_ != "-" && !test(?r, _VAL_) ),
"in parameter '#{_PARAM_}' (file \"#{_VAL_}\" is not readable)")%
},
':of' => { 'pattern' => '%F(?:%T(?:\S|\0))+',
'action' => %q%
reject( (_VAL_.nil? || _VAL_ != "-" &&
test(?r, _VAL_) && !test(?w, _VAL_)),
"in parameter '#{_PARAM_}' (file \"#{_VAL_}\" is not writable)")%
},
'' => { 'pattern' => ':s', 'ind' => 1 },
':+i' => { 'pattern' => ':i',
'action' => %q%reject( _VAL_ <= 0,
"in parameter '#{_PARAM_}' (#{_VAL_} must be an integer greater than zero)")%,
'ind' => 1
},
':+n' => { 'pattern' => ':n',
'action' => %q%reject( _VAL_ <= 0.0),
"in parameter '#{_PARAM_}' (#{_VAL_} must be a number greater than zero)")%,
'ind' => 1
},
':0+i' => { 'pattern' => ':i',
'action' => %q%reject( _VAL_ < 0,
"in parameter '#{_PARAM_}' (#{_VAL_} must be an positive integer)")%,
'ind' => 1
},
':0+n' => {
'pattern' => ':n',
'action' => %q%reject( _VAL_ < 0,
"in parameter '#{_PARAM_}' (#{_VAL_} must be an positive number)")%,
'ind' => 1
},
}
end