ใช้ขีดล่าง
นี่อาจเป็นเคล็ดลับที่สำคัญที่สุด เกือบทุกโปรแกรมRödaที่ตีกอล์ฟใช้ขีดล่าง
ไวยากรณ์ขีดล่างคือน้ำตาลประโยคสำหรับfor
ลูป บรรทัดของรหัสต่อไปนี้เทียบเท่า:
ls""|fileLength x for x|sort|pull
ls""|fileLength _|sort|pull
ขีดล่างแต่ละอันเพิ่มตัวแปรใหม่ให้กับfor
วงที่มองไม่เห็นซึ่งอยู่รอบคำสั่ง การวนซ้ำจะดึงค่าหนึ่งค่าจากสตรีมสำหรับแต่ละตัวแปร / ขีดล่างแล้วทำซ้ำจนกว่าจะไม่มีค่าเหลืออยู่
ขีดล่างสามารถใช้ได้ทุกที่ในงบ:
a[x:y+1]=[1]*(1+y-x) /* Sets range x..y (inclusive) */
seq x,y|a[_]=1 /* 6 bytes less */
หากคุณต้องอ้างอิงค่าขีดล่างเดียวกันมากกว่าหนึ่งครั้งหรือใช้ค่าในลำดับย้อนกลับคุณสามารถใส่ตัวเลขหลังเครื่องหมายขีดล่าง:
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] */