當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。