1#+begin_src prep
2#@ ```
3#@ printf "one\ntwo\nthree\n" > /tmp/list.txt
4#@ printf "1\n2\n3\n"         >> /tmp/list.txt
5#@ printf "1.0\n2.0\n3.0"   >> /tmp/list.txt
6#@ ```
7#+end_src
8#+begin_src cfengine3
9bundle agent example_readreallist
10# @brief Example showing function return types
11{
12  vars:
13      "my_list_of_reals"
14        rlist => readreallist( "/tmp/list.txt", # File to read
15                              "^(\D+)",         # Ignore any non-digits
16                              "\n",             # Split on newlines
17                              inf,              # Maximum number of entries
18                              inf );            # Maximum number of bytes to read
19
20  reports:
21      "my_list_of_reals includes '$(my_list_of_reals)'";
22}
23bundle agent __main__
24{
25  methods: "example_readreallist";
26}
27#+end_src
28#+begin_src example_output
29#@ ```
30#@ R: my_list_of_reals includes '1'
31#@ R: my_list_of_reals includes '2'
32#@ R: my_list_of_reals includes '3'
33#@ R: my_list_of_reals includes '1.0'
34#@ R: my_list_of_reals includes '2.0'
35#@ R: my_list_of_reals includes '3.0'
36#@ ```
37#+end_src
38