当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia isvalid方法用法及代码示例


用法一

isvalid(value) -> Bool

如果给定值对其类型有效,则返回 true,当前可以是 AbstractCharStringSubString{String}

例子

julia> isvalid(Char(0xd800))
false

julia> isvalid(SubString(String(UInt8[0xfe,0x80,0x80,0x80,0x80,0x80]),1,2))
false

julia> isvalid(Char(0xd799))
true

用法二

isvalid(T, value) -> Bool

如果给定值对该类型有效,则返回 true。当前的类型可以是 AbstractCharStringAbstractChar 的值可以是 AbstractChar UInt32 类型。 String 的值可以是该类型,SubString{String}Vector{UInt8},或其连续子数组。

例子

julia> isvalid(Char, 0xd800)
false

julia> isvalid(String, SubString("thisisvalid",1,5))
true

julia> isvalid(Char, 0xd799)
true

Julia 1.6

Julia 1.6 中添加了对子数组值的支持。

用法三

isvalid(s::AbstractString, i::Integer) -> Bool

指示给定索引是否是s 中字符编码的开始的谓词。如果 isvalid(s, i) 为真,则 s[i] 将返回其编码从该索引开始的字符,如果为假,则 s[i] 将引发无效索引错误或边界错误,具体取决于 i 是否在边界内。为了使 isvalid(s, i) 成为 O(1) 函数,s 的编码必须是 self-synchronizing 。这是 Julia 的通用字符串支持的基本假设。

另见 getindex iterate thisind nextind prevind length

例子

julia> str = "αβγdef";

julia> isvalid(str, 1)
true

julia> str[1]
'α': Unicode U+03B1 (category Ll: Letter, lowercase)

julia> isvalid(str, 2)
false

julia> str[2]
ERROR: StringIndexError: invalid index [2], valid nearby indices [1]=>'α', [3]=>'β'
Stacktrace:
[...]

相关用法


注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.isvalid — Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。