Custom blocks allow for a method for compiling a list into a string. For this tutorial, a custom block will be used, in which the block takes every item in a list and compiles it into a string, separating each item with an inputed value. For example, if a user has a list containing the following items:
- apple
- orange
- lime
and a user uses this block with the separator ";", the result will be "apple; orange; lime; ".
For this tutorial, the following variables will be needed:
(i)
(result)
A list will also be needed:
(list::list)//the list where the items that need to be separated are
The following custom block will be needed:
define compile list into string separated by (char)
Scripting
The following script compiles every item in the list (list::list)
into the variable (result)
.
define compile list into string separated by (char) set [i v] to [0] set [result v] to [] repeat (length of [list v]) change [i v] by (1) set [result v] to (join (join (result) (item (i) of [list v])) (char)) // add one letter of the list item to (result) end
The (list::list)
variable can be interchanged for any variable or name that the user wants to use in their own script.
How it Works
This is a method to combine a list into a string. The variable (i)
is an integer variable which stores the number in the list that is going to be added to the string.
The script uses a loop (repeat) to continuously add a different value from the list to the string using:
set [result v] to (join (join (result) (item (i) of [list v])) (char))
and the variable (i)
's value is increased by 1 in every iteration of the loop.
Other Methods
In the following method, one can not pick the separating character; it is automatically set to a space, unless the list consists entirely of single-digit positive integers, in which case there is no seperator.
set [result v] to (list::list)