is Ascii Whitespace(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. 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.
관련 규칙 · Classify a scalar position →결과
효과
실패
Result and effects
링크Classify the scalar at a zero based position with the corresponding ASCII code predicate. An absent position returns false.
Related entries
링크Classify a scalar position
링크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. 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
링크import std.parserimport std.iolet text = "é5éZ "for index in ([0, 1, 2, 3, 4, 5, 6]) {let digit = parser.isAsciiDigit(text, index)let alpha = parser.isAsciiAlpha(text, index)let alnum = parser.isAsciiAlnum(text, index)let space = parser.isAsciiWhitespace(text, index)io.writeLine("{digit}/{alpha}/{alnum}/{space}")}
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
기대 결과
기대 결과
실행을 마칩니다. 종료 코드 0.
false/false/false/falsetrue/false/true/falsefalse/true/true/falsefalse/false/false/falsefalse/true/true/falsefalse/false/false/falsefalse/false/false/true
Treat negative positions and end of input as false
링크import std.parserimport std.iolet text = "7"for index in ([-1, 1, 2, 9223372036854775807]) {let digit = parser.isAsciiDigit(text, index)let alpha = parser.isAsciiAlpha(text, index)let alnum = parser.isAsciiAlnum(text, index)let space = parser.isAsciiWhitespace(text, index)io.writeLine("{digit}/{alpha}/{alnum}/{space}")}let empty = ""let digit = parser.isAsciiDigit(empty, 0)let alpha = parser.isAsciiAlpha(empty, 0)let alnum = parser.isAsciiAlnum(empty, 0)let space = parser.isAsciiWhitespace(empty, 0)io.writeLine("{digit}/{alpha}/{alnum}/{space}")
false/false/false/false
false/false/false/false
false/false/false/false
false/false/false/false
false/false/false/false
기대 결과
기대 결과
실행을 마칩니다. 종료 코드 0.
false/false/false/falsefalse/false/false/falsefalse/false/false/falsefalse/false/false/falsefalse/false/false/false