@@ -141,13 +141,16 @@ function tryparse_internal(::Type{Bool}, sbuff::Union{String,SubString},
141
141
Nullable {Bool} ()
142
142
end
143
143
144
- function tryparse {T<:Integer} (:: Type{T} , s:: AbstractString , base:: Integer = 0 )
145
- return tryparse_internal (T, s, start (s), endof (s), base, false )
146
- end
147
-
148
- function parse {T<:Integer} (:: Type{T} , s:: AbstractString , base:: Integer = 0 )
149
- return get (tryparse_internal (T, s, start (s), endof (s), base, true ))
150
- end
144
+ check_valid_base (base) = 2 <= base <= 62 ? base :
145
+ throw (ArgumentError (" invalid base: base must be 2 ≤ base ≤ 62, got $base " ))
146
+ tryparse {T<:Integer} (:: Type{T} , s:: AbstractString , base:: Integer ) =
147
+ tryparse_internal (T, s, start (s), endof (s), check_valid_base (base), false )
148
+ tryparse {T<:Integer} (:: Type{T} , s:: AbstractString ) =
149
+ tryparse_internal (T, s, start (s), endof (s), 0 , false )
150
+ parse {T<:Integer} (:: Type{T} , s:: AbstractString , base:: Integer ) =
151
+ get (tryparse_internal (T, s, start (s), endof (s), check_valid_base (base), true ))
152
+ parse {T<:Integer} (:: Type{T} , s:: AbstractString ) =
153
+ get (tryparse_internal (T, s, start (s), endof (s), 0 , true ))
151
154
152
155
# # string to float functions ##
153
156
0 commit comments