Sử dụng dấu gạch dưới
Đây có lẽ là mẹo quan trọng nhất. Gần như mọi chương trình Röda được đánh gôn đều sử dụng dấu gạch dưới.
Cú pháp gạch dưới là đường cú pháp cho for
các vòng lặp. Các dòng mã sau đây là tương đương:
ls""|fileLength x for x|sort|pull
ls""|fileLength _|sort|pull
Mỗi dấu gạch dưới thêm một biến mới vào một for
vòng lặp vô hình xung quanh câu lệnh. Vòng lặp kéo một giá trị từ luồng cho mỗi biến / gạch dưới và sau đó lặp lại, cho đến khi không còn giá trị nào.
Dấu gạch dưới có thể được sử dụng ở bất cứ đâu trong các câu lệnh:
a[x:y+1]=[1]*(1+y-x) /* Sets range x..y (inclusive) */
seq x,y|a[_]=1 /* 6 bytes less */
Nếu bạn phải tham khảo cùng một giá trị gạch dưới nhiều lần hoặc sử dụng các giá trị theo thứ tự ngược lại, bạn có thể đặt một số sau dấu gạch dưới:
a|[_^_1] /* maps x to x^x */
a|[_2-_1] /* maps each pair (x,y) to y-x, eg. [1,2,4,8] -> [1, 4] */