"L;L'!+!'_
Hãy thử trực tuyến!
Bản in này:
_'!+!'L;L"
Hãy thử trực tuyến!
Và ngược lại.
Giải trình
Đây là một sửa đổi của quine ngược . Nó hoạt động theo lợi thế của chúng tôi ở đây !được sử dụng để in và cũng chỉ cách một đoạn mã so với trích dẫn ". Điều đó làm cho nó dễ dàng hơn để làm cho phần in trích dẫn palindromic (the '!+!'). Hãy bắt đầu với mã đầu tiên:
"L;L'!+!'_
Chương trình này có hai điểm vào tại Ls, mỗi điểm tạo ra một nguyên tử trái. Tuy nhiên, cái bên phải ngay lập tức đánh vào ;thứ phá hủy nó. Cái bên trái vào chế độ chuỗi và quấn quanh đến cuối, để nó in toàn bộ mã (ngoại trừ ") từ sau ra trước. Điều đó đã cho chúng ta _'!+!'L;L. Tất cả chỉ còn lại là in ". _có thể bỏ qua, '!đặt khối lượng của nguyên tử lên 33 (điểm mã của !), +tăng nó lên "và !in ra. Đó là tất cả các đầu ra được thực hiện. Việc 'Lđặt khối lượng nguyên tử đến điểm mã của Lnhưng điều đó không liên quan. ;phá hủy nguyên tử này là tốt và vì không còn nguyên tử nào, chương trình chấm dứt.
Bây giờ ngược lại:
_'!+!'L;L"
Một lần nữa, chúng ta có hai điểm vào nhưng một nguyên tử bị phá hủy ngay lập tức. Lần này chúng tôi chuyển qua !+!'phần đầu tiên, vì vậy chúng tôi bắt đầu bằng cách in một trích dẫn. Điều '_này một lần nữa không liên quan, nhưng chúng ta cần _(hoặc một số nhân vật vô dụng khác) ở đây để tránh 'thoát ". Nguyên tử kết thúc đến cuối, đi qua mã nguồn một lần trong chế độ chuỗi để in phần còn lại của chương trình, Lsau đó bị bỏ qua và ;phá hủy nguyên tử và chấm dứt chương trình.