본문으로 건너뛰기
토파즈6.0 · 출시 전
다운로드 →

문서 검색

명세 6.0

방향키로 결과를 고르고 Enter를 눌러 여세요.

API 이름, 진단 번호, 규칙 또는 프로젝트 주제를 입력하세요.

    라이브러리

    std.parser.isAsciiWhitespace

    Tests the code point at a string position for ASCII whitespace.

    isAsciiWhitespace(text: string, index: int) -> bool
    수신자
    해당 없음
    최소 인자 수
    2
    최대 인자 수
    2

    Declaration and parameters

    링크

    사용 조건

    기본 포함 · 미정

    Import std.parser in language mode 5.21.

    The current compiler selects std/parser.tpz for this language mode. Availability in other released editions and inclusion in each installed distribution are Pending.

    수신자

    매개변수 제약

    The index counts Unicode scalars from zero. A multibyte scalar occupies one position. A combining scalar occupies its own position.

    A present scalar is classified by the corresponding code predicate. Non ASCII scalars return false, including a nonbreaking space and letters outside the ASCII ranges.

    A negative index or an index at or beyond the scalar length returns false. Index zero in an empty string also returns false. These cases do not produce a diagnostic.

    The result agrees with applying the corresponding code predicate to text.codePointAt(index) when it returns Some(code). A None() result means false.

    The text expression is evaluated before the index expression, once each. Classification leaves the string unchanged and performs no I/O.

    결과

    효과

    실패

    Result and effects

    링크

    Classify the scalar at a zero based position with the corresponding ASCII code predicate. An absent position returns false.

    Related entries

    링크

    std.parser →

    Classify a scalar position

    링크
    규칙topaz.stdlib.contract.parser-ascii-positions.rule

    Classify a scalar position

    The index counts Unicode scalars from zero. A multibyte scalar occupies one position. A combining scalar occupies its own position.

    A present scalar is classified by the corresponding code predicate. Non ASCII scalars return false, including a nonbreaking space and letters outside the ASCII ranges.

    A negative index or an index at or beyond the scalar length returns false. Index zero in an empty string also returns false. These cases do not produce a diagnostic.

    The result agrees with applying the corresponding code predicate to text.codePointAt(index) when it returns Some(code). A None() result means false.

    The text expression is evaluated before the index expression, once each. Classification leaves the string unchanged and performs no I/O.

    이유

    A shared scalar coordinate system lets parser positions pass directly to string operations. An absent position is a failed predicate, so end of input needs no exceptional control flow.

    Keep scalar positions through multibyte and combining text

    링크
    main.tpzKeep scalar positions through multibyte and combining text플레이그라운드 열기 →
    1. import std.parser
    2. import std.io
    3. let text = "é5éZ  "
    4. for index in ([0, 1, 2, 3, 4, 5, 6]) {
    5. let digit = parser.isAsciiDigit(text, index)
    6. let alpha = parser.isAsciiAlpha(text, index)
    7. let alnum = parser.isAsciiAlnum(text, index)
    8. let space = parser.isAsciiWhitespace(text, index)
    9. io.writeLine("{digit}/{alpha}/{alnum}/{space}")
    10. }
    기대 출력종료 코드 0
    false/false/false/false
    true/false/true/false
    false/true/true/false
    false/false/false/false
    false/true/true/false
    false/false/false/false
    false/false/false/true
    
    $ topaz run main.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

    실행을 마칩니다. 종료 코드 0.

    기대 표준 출력
    1. false/false/false/false
    2. true/false/true/false
    3. false/true/true/false
    4. false/false/false/false
    5. false/true/true/false
    6. false/false/false/false
    7. false/false/false/true

    Treat negative positions and end of input as false

    링크
    main.tpzTreat negative positions and end of input as false플레이그라운드 열기 →
    1. import std.parser
    2. import std.io
    3. let text = "7"
    4. for index in ([-1, 1, 2, 9223372036854775807]) {
    5. let digit = parser.isAsciiDigit(text, index)
    6. let alpha = parser.isAsciiAlpha(text, index)
    7. let alnum = parser.isAsciiAlnum(text, index)
    8. let space = parser.isAsciiWhitespace(text, index)
    9. io.writeLine("{digit}/{alpha}/{alnum}/{space}")
    10. }
    11. let empty = ""
    12. let digit = parser.isAsciiDigit(empty, 0)
    13. let alpha = parser.isAsciiAlpha(empty, 0)
    14. let alnum = parser.isAsciiAlnum(empty, 0)
    15. let space = parser.isAsciiWhitespace(empty, 0)
    16. io.writeLine("{digit}/{alpha}/{alnum}/{space}")
    기대 출력종료 코드 0
    false/false/false/false
    false/false/false/false
    false/false/false/false
    false/false/false/false
    false/false/false/false
    
    $ topaz run main.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

    실행을 마칩니다. 종료 코드 0.

    기대 표준 출력
    1. false/false/false/false
    2. false/false/false/false
    3. false/false/false/false
    4. false/false/false/false
    5. false/false/false/false

    메뉴

    다운로드 →