OR is |
AND is &
More about arithmetic operator You can find in our documentation
There are no loop statements.
segmentxRole can be used on segments before passing them to macro, when in that macro it is used multiple times.
Example there is a macro in which the same segment is used 3 times- on start, end and in evenly.
On Top Level style editor, before passing this segment to the macro I have added this Z size modification:
return if(SegmentXRole==4, 50, 10);
Which means, if segment is in evenly input, make it 50 units tall, if not- 10 units tall.
It is possible to print debug values with print command, but it wont always be super helpful all the time, especially when those statements include railclone parameters.
I generally like to change some segments Z size depending on the expression i am writing to get a sense of what is going on.
Hope this helps.