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))+(?=\s|\0|\z)' },
':qs' => { :pattern => %q{"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|(?:%T(?:\S|\0))+} },
':id' => { :pattern => '%T[a-zA-Z_](?:%T\w)*(?=\s|\0|\z)' },
':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))+(?=\s|\0|\z)',
:action => %q%
reject( (_VAL_.nil? || _VAL_ != "-" && !test(?r, _VAL_) ),
"in parameter '#{_PARAM_}' (file \"#{_VAL_}\" is not readable)")%
},
':of' => {
:pattern => '%F(?:%T(?:\S|\0))+(?=\s|\0|\z)',
: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