Print values to script output (stdout in the CLI). Arrays render as headerless tables: a flat array as one row, an array of arrays as one row per inner array.
Smart blocks: build-time inputs only. Logging consumes build-time values and cannot preview a guaranteed on-chain result.
Syntax
Section titled “Syntax”print [...values]Arguments
Section titled “Arguments”| Name | Type | Evaluation | Description |
|---|---|---|---|
[...values] | any | Build time | Values to output, space-separated |
Options
Section titled “Options”| Name | Type | Evaluation | Description |
|---|---|---|---|
--headers | array | Build time | Column headers; renders the printed arrays as a table, one array per column |
Examples
Section titled “Examples”# Print a stringprint "hello"
# Print multiple valuesprint "count:" 42
# Print variablesset $name "world"print "hello" $name
# Print an array as a one-row tableprint [1 2 3]
# Print an array of arrays as table rowsprint [[alice 10] [bob 20]]
# Print column arrays as a tableprint [[alice bob] [10 20]] --headers [Name Score]Export output
Section titled “Export output”The CLI sends printed text to stdout and status messages to stderr. Each
print adds a newline, preserving existing text and table formatting.
evmcrispr run export.evml > output.txtRedirection is shell syntax, not EVML syntax. The terminal's Download output
exports the same printed text as output.txt. Print only a JSON package when
exporting a JSON file; additional prints would also be included.
Programmatic hosts can capture printed messages with onOutput. Messages do
not include the terminating newline; hosts append it when exporting. Without
onOutput, printed messages continue to use onLog.