(ขึ้นอยู่กับโพสต์นี้และการสนทนาที่ตามมาในการแชท - ขอบคุณ Dennis for TIO!)
ความท้าทาย
เลือกภาษาที่ใช้ได้ในขณะนี้ในที่เว็บไซต์ TryItOnlineเช่นPowerShell เขียนรหัสในภาษานั้นในหน้านั้นซึ่งไม่ได้รับอินพุตใด ๆ เช่นเมื่อคลิกปุ่มRunผลลัพธ์ในหน้านั้นจะเหมือนกับที่อยู่ในฟิลด์ "URL ล้วน" เมื่อบันทึก / จัดเก็บคลิกปุ่มแทน
สำหรับตัวอย่างที่สมมติว่าสมมติว่าaaa
เป็นรหัสสำหรับวิธีการแก้ไขปัญหานี้ใน PowerShell จากนั้นผลลัพธ์ของการคลิกเรียกใช้ด้วยaaa
รหัสที่https://tio.run/#powershell
ควรส่งออกhttps://tio.run/##K8gvTy0qzkjNyfn/PzEx8f9/AA
ซึ่งเป็นฟิลด์ "URL ธรรมดา" เมื่อคลิกที่ปุ่มบันทึก / จัดเก็บ
เกณฑ์การให้คะแนน
URL ที่เป็นส่งของคุณความท้าทายนี้ ผู้ชนะคือ URL ที่สั้นที่สุดวัดเป็นไบต์ สำหรับตัวอย่างข้างต้น URL ที่https://tio.run/##K8gvTy0qzkjNyfn/PzEx8f9/AA
เป็นการส่งต่อความท้าทายที่44 ไบต์ URL ที่สั้นที่สุดที่ตอบสนองความท้าทายที่เหลืออยู่นี้จะได้รับความท้าทายและได้รับคะแนนบราวนี่ (ไม่สามารถแลกคะแนนได้) เนื่องจากมีความยาวต่ำสุดที่เป็นไปได้ที่ชัดเจนหากการส่งสองครั้งเสมอกันการส่งก่อนหน้านี้จะชนะ
การสร้าง URL
นี่คือจุดเริ่มต้นของอัลกอริทึมการสร้าง URL ในที่เก็บ คุณสามารถดูวิธีการใช้พื้นที่รหัสหลักองค์ประกอบพิเศษใด ๆ ต่อท้ายสตริงจะกิ่วและการแปลง Base64 แล้วเสริม##
ไว้ล่วงหน้า ฯลฯ ฉันจะไม่ลงรายละเอียดทั้งหมดที่นี่ ส่วนหนึ่งของความท้าทายคือการแยกวิเคราะห์และทำความเข้าใจวิธีสร้าง URL เพื่อใช้ประโยชน์จากองค์ประกอบที่เป็นไปได้ในอัลกอริทึมดังกล่าว
กฎ / ชี้แจง
- รหัสจริงไม่ควรใช้อินพุตและสร้างเฉพาะ quine-URL เป็นเอาต์พุต
- ซึ่งหมายความว่าช่องข้อความเท่านั้นที่ควรจะมีประชากรเมื่อคลิกเข้าสู่ URL ที่เป็นCode
,Header
,Footer
หรือตรงกัน "คอมไพเลอร์ธง" เขต;Input
และArguments
สาขาที่เป็นสิ่งต้องห้ามและจะต้องยังคงว่างเปล่า / ไม่ได้ใช้ การคลิกปุ่มเรียกใช้ควรเปลี่ยนเฉพาะOutput
ฟิลด์ สำหรับความท้าทายDebug
นี้ฟิลด์จะถูกละเว้นในทุกสถานการณ์ - กฎควินินปกติใช้กับโค้ดเท่าที่เป็นไปได้ (ตัวอย่างเช่นโค้ดไม่สามารถอ่านซอร์สโค้ดของตัวเองผ่านทาง
.code.tio
) - โปรดระบุคำอธิบายวิธีการทำงานของรหัสในการส่งของคุณ
- ส่ง quine "cheaty" โดยส่งคำร้องขอ Git pull ไปยังที่เก็บ TIO เพื่อสร้าง URL "หลอกลวง" หรือทางลัดหรือไม่อนุญาต
- ในทำนองเดียวกันการส่งคำขอดึงเพื่ออัปเดตภาษาเฉพาะเพื่อสร้าง URL "หลอกลวง" ไม่ได้รับอนุญาต
- โปรดทำดีกับเซิร์ฟเวอร์ของเดนนิสและอย่าละเมิดหรือพยายามหาช่องโหว่เพื่อความท้าทายนี้
https://tio.run/##a+a
ลิงค์ไปยังโปรแกรมที่ส่งออกhttps://tio.run/##a+a
จะใช้งานได้หรือไม่แม้จะเป็นการยากที่ลิงค์ที่สร้างขึ้นsaveState
จะได้รับhttps://tio.run/##a@a