The Node Pico Engine supports the beesting operator in extended quotes, and does not suffer from the parser limitation on expressions using the right curly brace, }, in the expression.


KRL extended quotes support the beesting operator, making them simple templating systems. Inside an extended quote, expression values can be referenced using the #{<expr>} syntax. For example, suppose you've stored 10 and 20 in the variables a and b:

somevar = <<
The average of #{a} and #{b} is #{(a+ b)/2}
>>;

The value of somevar would be "The average of 10 and 20 is 15."

You cannot insert non-scalar values into a string using the beesting syntax. For non-scalars, use the encode() operator on the value first to turn it into a string.

Because of a limitation in the parser, you cannot use expressions that contain a right curly brace, }, inside a beesting. The parser simply finds the first right curly brace after the start of the beesting and considers that the end. So, for example, you cannot do this

somevar = <<
This is my first name: #{name{first}}
>>;