ในส่วนขยาย Dyalog APL ของ @ Adámตัวดำเนินการ⍢
(ใต้) หมายถึงการรวมกัน: ใช้หนึ่งฟังก์ชันจากนั้นเป็นฟังก์ชันที่สองจากนั้นจึงกลับด้านแรก มันสนุกที่จะคิดเกี่ยวกับการกระทำในชีวิตจริงในแง่ของการผันคำกริยา:
ปัญหาถูกเปลี่ยนโดย g เป็นโดเมนอื่นที่แก้ไขได้อย่างง่ายดายโดย f แล้วเปลี่ยนกลับเป็นโดเมนดั้งเดิม ตัวอย่างจากชีวิตจริงคือ“ ภายใต้ยาชา”
apply anesthetics perform surgery wake up from anesthetics
ท้าทาย
ค่าผกผันของบรรทัดg
คือ "un" ที่เติมไว้g
และในทางกลับกัน กำหนดเส้นใด ๆ ระหว่างs
และผกผันของตนในการสั่งซื้อที่เป็น s
"ภายใต้" สำหรับแต่ละบรรทัดf
ในอินพุตตามลำดับ:
- หาก
f
และการผกผันของทั้งสองเกิดขึ้นไม่ทำอะไร - หาก
f
ไม่ใช่ "ภายใต้" การดำเนินการอื่นให้พิมพ์f
- หาก
f
เป็น "ใต้" ให้g
พิมพ์บรรทัดf + " under " + g
ที่+
ต่อกัน
อินพุต
สตริงหลายบรรทัดที่ไม่ว่างเปล่าหรือรายการสตริง ฯลฯ ประกอบด้วยช่องว่างและตัวอักษรตัวพิมพ์เล็ก (แทนการใช้ตัวพิมพ์ใหญ่) หนึ่งบรรทัดจะขึ้นต้นด้วย "un" อย่างแน่นอน และมันจะเป็นสิ่งที่ตรงกันข้ามกับเส้นอื่น จะไม่มีบรรทัดว่างเปล่า
เอาท์พุต
เอาต์พุตในรูปแบบเดียวกับที่คุณรับอินพุตหรือตามที่อนุญาตโดย I / O มาตรฐาน
กรณีทดสอบ:
Input:
apply anesthetics
perform surgery
unapply anesthetics
Output:
perform surgery under apply anesthetics
Input:
unite asia
establish the silk road
ite asia
Output:
establish the silk road under unite asia
Input:
desire a book
walk to store
take the book
pay for the book
unwalk to store
read the book
Output:
desire a book
take the book under walk to store
pay for the book under walk to store
read the book
Input:
drink excessively
undrink excessively
Output:
[empty string]