Arrays
Within Fluid itself, the only way to create a simple array is to split a string.
{% assign children = "Alec,Gabrielle,Isabella" | split:"," %}
For simple arrays, you can access values by numeric index, as normal.
{{ children[0] }}
Alec
Note that an invalid index won’t throw an error, it just won’t return anything.
There are also several virtual members available.
{{ children.first }}
{{ children.last }}
{{ children.size }}
Alec
Isabella
3
There is no way to create a dictionary in Liquid, other than having it returned from a filter or virtual member.
For dictionary objects, you can access values with a bracket syntax (using double quotes or single quotes).
context.SetValue("children", new Dictionary<string,string>() {
{ "oldest", "Alec" },
{ "middle", "Gabrielle" },
{ "youngest", "Isabella" }
});
{{ children["oldest"] }}
Alec
The dictionary keys can also be used directly as members:
{{ children.oldest }}
Alec
The first
and last
filters and virtual members don’t return anything for dictionaries, though size
works as you would expect.
An invalid key won’t throw an error, it just won’t return anything.
All arrays can be iterated using a for
loop (see Looping).
Finally, there is an entire set of filters for working with arrays which provide additional features, including the wrapping of several of C#'s native array and LINQ functions