[S S N
_Push_0][S N
S _Duplicate_0][T N
T T _Read_STDIN_as_integer][T T T _Retrieve_input][T N
S T _Print_as_integer]
เพิ่มตัวอักษรS
(ช่องว่าง), T
(แท็บ) และN
(บรรทัดใหม่) เป็นการเน้นเท่านั้น
[..._some_action]
เพิ่มเป็นคำอธิบายเท่านั้น
ลองออนไลน์ คุณจะต้องคัดลอกโค้ดด้วยตัวคุณเอง (โปรดสังเกตว่า SE แปลงแท็บให้เป็นช่องว่าง!) เพื่อเรียกใช้โค้ดที่ Whitespace-compiler ออนไลน์ vii5ard เมื่อคลิกวิ่งก็จะขอให้การป้อนข้อมูล (เช่น-285.5
) -283
และหลังจากการคลิกที่ใส่มันจะดำเนินต่อไปและเอาท์พุท
คำอธิบายในรหัสเทียม:
Integer i = STDIN as integer
Print i as integer
ช่องว่างสามารถใช้ I / O เป็นจำนวนเต็มหรืออักขระเดี่ยวเท่านั้นดังนั้นในกรณีนี้มันจะอ่านอินพุตเป็นจำนวนเต็มและไม่สนใจอักขระต่อท้ายอื่น ๆ Ie -283.5
หรือ-283abc5
ทั้งสองจะมีการป้อนข้อมูล (และเอาท์พุทจึง) -283
เช่น
น่าเสียดายที่สิ่งนี้ไม่ทำงานบนTIOด้วยเหตุผลสองประการ (คอมไพเลอร์ Whitespace ทั้งหมดนั้นแตกต่างกันเล็กน้อย .. ):
- มันจะให้
no parse
ข้อผิดพลาดเมื่อเราพยายามอ่านอินพุตเป็นจำนวนเต็มซึ่งไม่ใช่จำนวนเต็มที่ถูกต้อง ดังนั้นเราจะอ่านตัวอักษรทีละตัวและหยุด (พร้อมข้อผิดพลาด) ทันทีที่เราพบ.
หรือไม่มีการป้อนข้อมูลเพิ่มเติม (เช่น50
/ -50
)
- ในคอมไพเลอร์ vii5ard ก็ยังเป็นไปได้ที่จะผลักดัน 0 มีเพียง
SSN
ในขณะที่ใน TIO มันต้องมีการเพิ่มเติมS
หรือT
: /SSSN
SSTN
ประการแรกS
คือเปิดใช้งานการจัดการกองซ้อน ; ที่สองS
คือกดสิ่งต่อไปนี้เป็นจำนวนเต็ม ; ที่สามS
/ T
เป็นบวก / ลบตามลำดับ และใด ๆS
/ T
หลังจากนั้น (ตามN
) คือจำนวนที่เราต้องการที่จะผลักดันในไบนารีที่และS=0
T=1
สำหรับจำนวนเต็ม 0 ส่วนไบนารีนี้ไม่สำคัญเนื่องจากเป็น 0 โดยค่าเริ่มต้น แต่ใน TIO เรายังคงต้องระบุค่าบวก / ลบและด้วยคอมไพเลอร์ Whitespace อื่น ๆ เช่น vii5ard
[N
S S N
_Create_Label_LOOP][S S S N
_Push_0][S N
S _Duplicate_0][T N
T S _Read_STDIN_as_character][T T T _Retrieve_input][S N
S _Duplicate_input][S S S T S T T T S N
_Push_46_.][T S S T _Subtract][N
T S S N
_If_0_Jump_to_Label_EXIT][T N
S S _Print_as_character][N
S N
N
_Jump_to_Label_LOOP]
เพิ่มตัวอักษรS
(ช่องว่าง), T
(แท็บ) และN
(บรรทัดใหม่) เป็นการเน้นเท่านั้น
[..._some_action]
เพิ่มเป็นคำอธิบายเท่านั้น
ลองใช้ออนไลน์ (ด้วยพื้นที่ว่างเปล่าแท็บและบรรทัดใหม่เท่านั้น)
คำอธิบายในรหัสเทียม:
Start LOOP:
Character c = STDIN as character
If(c == '.'):
Exit program
Print c as character
Go to the next iteration of LOOP
3.00
สำหรับ3.14
?