blob: 645ecb1e83be3f3069649ea7ba971898f538960e [file] [log] [blame]
cue eval -i numbers.cue
cmp stdout expect-stdout-cue
-- frontmatter.toml --
title = "Numbers"
description = ""
-- text.md --
CUE defines two kinds of numbers.
Integers, denoted `int`, are whole, or integral, numbers.
Floats, denoted `float`, are decimal floating point numbers.
An integer literal (e.g. `4`) can be of either type, but defaults to `int`.
A floating point literal (e.g. `4.0`) is only compatible with `float`.
In the example, the result of `b` is a `float` and cannot be
used as an `int` without conversion.
-- numbers.cue --
a: int
a: 4 // type int
b: number
b: 4.0 // type float
c: int
c: 4.0
d: 4 // will evaluate to type int (default)
-- expect-stdout-cue --
a: 4
b: 4.0
c: _|_ // conflicting values int and 4.0 (mismatched types int and float)
d: 4