mirror of
https://github.com/typst/typst
synced 2025-05-13 20:46:23 +08:00
59 lines
796 B
Typst
59 lines
796 B
Typst
// Test while expressions.
|
|
|
|
---
|
|
// Should output `2 4 6 8 10`.
|
|
#let i = 0
|
|
#while i < 10 [
|
|
{ i += 2 }
|
|
#i
|
|
]
|
|
|
|
// Should output `Hi`.
|
|
#let iter = true
|
|
#while iter {
|
|
iter = false
|
|
"Hi."
|
|
}
|
|
|
|
#while false {
|
|
dont-care
|
|
}
|
|
|
|
---
|
|
// Value of while loops.
|
|
// Ref: false
|
|
|
|
#test(while false {}, none)
|
|
|
|
#let i = 0
|
|
#test(type(while i < 1 [{ i += 1 }]), "content")
|
|
|
|
---
|
|
// Condition must be boolean.
|
|
// Error: 8-14 expected boolean, found content
|
|
#while [nope] [nope]
|
|
|
|
---
|
|
// Make sure that we terminate and don't complain multiple times.
|
|
#while true {
|
|
// Error: 3-7 unknown variable
|
|
nope
|
|
}
|
|
|
|
---
|
|
// Error: 7 expected expression
|
|
#while
|
|
|
|
// Error: 7 expected expression
|
|
{while}
|
|
|
|
// Error: 9 expected body
|
|
#while x
|
|
|
|
// Error: 7 expected expression
|
|
#while
|
|
x {}
|
|
|
|
// Error: 9 expected body
|
|
#while x something
|