ฉันถูกเรียกดู esolangs และ chanced เมื่อภาษานี้: https://github.com/catseye/Quylthulg
สิ่งหนึ่งที่น่าสนใจเกี่ยวกับภาษานี้คือมันไม่ได้ใช้คำนำหน้า postfix หรือมัดมันใช้ทั้งสามคนเรียกมันว่า "panfix" สัญกรณ์
นี่คือตัวอย่าง เพื่อเป็นตัวแทนของมัดปกติ1+2
ใน panfix +1+2+
มันจะกลายเป็น: สังเกตว่าผู้ประกอบการมีทั้งก่อนระหว่างและหลังตัวถูกดำเนินการ (1+2)*3
อีกตัวอย่างหนึ่งคือ *+1+2+*3*
นี้จะกลายเป็น แจ้งให้ทราบอีกครั้งว่า*
มีอยู่ในทุกสามสถานที่ที่เกี่ยวกับการถูกดำเนินและ+1+2+
3
ความท้าทาย
ดังที่คุณอาจเดาได้งานของคุณในการท้าทายนี้คือการแปลงนิพจน์จากมัดเป็น Panfix
คำอธิบายบางอย่าง:
- คุณต้องจัดการกับการดำเนินงานพื้นฐานสี่ประการเท่านั้น:
+-*/
- คุณไม่จำเป็นต้องจัดการกับไบนารีรุ่นเดียวเท่านั้น
- คุณต้องจัดการกับวงเล็บ
- สมมติว่ากฎที่มีมาก่อนเป็นปกติจาก
*/
นั้น+-
และปล่อยให้การเชื่อมโยงสำหรับพวกเขาทั้งหมด - ตัวเลขจะเป็นจำนวนเต็มไม่ใช่ค่าลบ
- คุณสามารถเลือกที่จะมีช่องว่างทั้งอินพุตและเอาต์พุต
กรณีทดสอบ
1+2 -> +1+2+
1+2+3 -> ++1+2++3+
(1+2)*3 -> *+1+2+*3*
10/2*5 -> */10/2/*5*
(5+3)*((9+18)/4-1) -> *+5+3+*-/+9+18+/4/-1-*
นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!
S.split``
ควร[...S]
ถึงแม้ว่ามันอาจช่วยให้ตรงไปตรง/\d+|./g
มาและทำงานในที่จริงแทน