[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]
Harfler S(boşluk), T(sekme) ve N(yeni satır) yalnızca vurgulama olarak eklendi.
[..._some_action]yalnızca açıklama olarak eklendi.
Çevrimiçi deneyin. Kodu çevrimiçi Whitespace-compiler vii5ard'da çalıştırmak için kodu kendiniz kopyalayıp yapıştırmanız gerekir (SE'nin sekmeleri bir sürü boşluğa dönüştürdüğünü unutmayın!). Çalıştır'ı tıklattığınızda, bir giriş (yani -285.5) isteyecek ve enter'a tıkladıktan sonra devam edecek ve çıkacaktır -283.
Sahte kodda açıklama:
Integer i = STDIN as integer
Print i as integer
Boşluk yalnızca G / Ç'yi tamsayı veya tek karakter olarak kullanabilir, bu durumda girdiyi tamsayı olarak okur ve diğer diğer karakterleri yok sayar. Yani -283.5veya -283abc5her ikisi de giriş (ve dolayısıyla çıkış) olarak olacaktır -283.
Ne yazık ki bu yukarıdaki iki nedenden dolayı TIO üzerinde çalışmaz (tüm Whitespace derleyicileri biraz farklıdır.):
- Bu bir verecektir
no parsebiz geçerli bir tamsayı değil tamsayı olarak bir giriş, okumaya çalışırken hata. Bunun yerine, her seferinde bir karakter okuyacağız ve karşılaştığımız anda (bir hata ile) dururuz .veya daha fazla girdi olmaz (yani 50/ -50).
- Vii5ard derleyicisinde 0'ı sadece itmek de mümkündür
SSN, oysa TIO'da ek Sveya T: SSSN/ gerekir SSTN. İlk Solan Yığın Manipülasyon etkinleştirme ; İkinci Sise tamsayı olarak ne şu itin ; üçüncü S/ Tsırasıyla pozitif / negatif; ve herhangi bir S/ Tsonrasını (arkasından an N) ikiliyi itmek istediğimiz sayıdır, nerede S=0ve T=1. Tam sayı 0 için bu ikili kısım önemli değildir, çünkü varsayılan olarak 0'dır. Ancak TIO'da hala pozitif / negatif belirtmek zorundayız ve vii5ard gibi diğer birçok Whitespace derleyicisiyle değil.
[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]
Harfler S(boşluk), T(sekme) ve N(yeni satır) yalnızca vurgulama olarak eklendi.
[..._some_action]yalnızca açıklama olarak eklendi.
Çevrimiçi deneyin (yalnızca ham alanlar, sekmeler ve yeni satırlarla).
Sahte kodda açıklama:
Start LOOP:
Character c = STDIN as character
If(c == '.'):
Exit program
Print c as character
Go to the next iteration of LOOP
3.00için3.14?