> <> , 56 ไบต์
^
.
+
8
f
0
o
a
o
~
:
?
~
:
?
:
-
*
4
8
:
^
^
}
*
3
d
'
ลองออนไลน์! หรือตรวจสอบการกลายพันธุ์ทั้งหมด
โปรแกรมต้นฉบับทำงานอย่างไร (ล้าสมัย)
ล่ามเริ่มต้นในเซลล์(0, 0) ^
กำหนดทิศทางที่จะขึ้นไปเพื่อให้การเรียนการสอนชี้ (IP) ล้อมรอบเซลล์(0, 20)
'
เปิดใช้งานโหมดสตริง: จนกว่า'
จะพบสิ่งต่อไปตัวละครทั้งหมดภายใต้ IP จะถูกผลักลงบนสแต็ก เช่นเดียวกับที่'
พบอีกครั้งหลังจากที่ห่อรอบ ๆ ดังนั้นเราจึงผลักดัน
d3*}^^:84*=?~oao0f.^
ทรัพย์สินทางปัญญาที่(0, 19)ยังคงขึ้นไป การดำเนินการd3*}
กด13 = 0xdจากนั้น3คูณทั้งสองค่า ( 39 / คำพูดเดี่ยว ) จากนั้นหมุนสแต็กไปทางขวา ใบนี้ออกจากสแต็กดังนี้
'd3*}^^:84*=?~oao0f.^
คำแนะนำสองข้อถัดไป ( ^
) ไม่ได้ทำในจุดนี้
:84*=
ซ้ำด้านบนของสแต็คผลัก8และ4คูณพวกเขา ( 32 / พื้นที่ ) จากนั้นทดสอบตัวละครซ้ำกันเพื่อความเท่าเทียมกันกับพื้นที่ สำหรับโปรแกรมที่ไม่มีการเปลี่ยนแปลงนี่จะเป็น0เสมอ
?
ข้ามคำสั่งถัดไปหากส่วนบนสุดของสแต็กเป็นเท็จ สำหรับโปรแกรมดั้งเดิมมันจะเป็นเช่น~
นั้นเสมอดังนั้นจึงถูกข้ามไป
oao
ปรากฏและพิมพ์ด้านบนของสแต็ค, ดัน10 / เลื่อนบรรทัดแล้วปรากฏและพิมพ์เลื่อนบรรทัด
ในที่สุดก็0f.
กระโดดไปที่เซลล์(0, 15) (ล่างสุด^
) เริ่มต้นด้วยตัวละครต่อไปในกอง
เมื่อสแต็กว่างเปล่ารหัสต้นฉบับทั้งหมดจะถูกพิมพ์ :
จะล้มเหลวและโปรแกรมออก
โปรแกรมที่กลายพันธุ์ทำงานอย่างไร (ล้าสมัย)
การทำสำเนาอักขระที่ไม่ใช่บรรทัดการป้อนซ้ำจะเป็นการขยายโปรแกรมในแนวนอนเท่านั้น เนื่องจากโปรแกรมถูกดำเนินการในแนวตั้งคำแนะนำพิเศษเหล่านี้จะไม่ถูกดำเนินการ
โรเนียวเลื่อนบรรทัดใด ๆ ก่อนที่ bottomost ^
จะเปลี่ยนเซลล์(0, 14)และ(0, 15)เพื่อ(0, 15)และ(0, 16) 0f.
ตอนนี้จะข้ามไปที่เซลล์ก่อนหน้าสุด^
ซึ่งก็คือ a ^
ดังนั้นโปรแกรมจะไม่ได้รับผลกระทบจากการเปลี่ยนแปลง
ในที่สุดตัวอักษร linefeed ใด ๆ ที่ซ้ำกันก็จะเปลี่ยนสตริง เส้นสั้น ๆ ที่เต็มไปด้วยช่องว่างดังนั้น32 / ช่องว่างจะถูกแทรกในตำแหน่งของ linefeed 84*=
จะผลัก1สำหรับพื้นที่ดังนั้น?
อย่าข้ามคำสั่งถัดไป ในกรณีนี้~
จะปรากฏขึ้นและละทิ้งพื้นที่ดังนั้นต่อไปนี้o
จะพิมพ์ตัวอักษรเหนือช่องว่างแทน
0
และ00
ใน CJam0
ทั้งการส่งออก