DOGO'yu yorumla
DOGO daha az bilinen bir programlama dilidir. Orijinal DOGO (bir Usenet gönderisinden şaka dili) hiç uygulanmamış olsa da, ona benzeyen bir dil yaratılmıştır. Dil için komutlar:
+===========+================================================================+
| Command | Description |
+===========+================================================================+
| SIT | If the value of the current memory cell is 0, jump to STAY. |
+-----------+----------------------------------------------------------------+
| STAY | If the value of the current memory cell is not 0, jump to SIT. |
+-----------+----------------------------------------------------------------+
| ROLL-OVER | Select the next operation from the operation list. |
+-----------+----------------------------------------------------------------+
| HEEL | Execute the currently selected operation. |
+-----------+----------------------------------------------------------------+
Operasyonlar:
+========+=======================================================+====+
| Number | Description | BF |
+========+=======================================================+====+
| 0 | Increment current memory cell. | + |
+--------+-------------------------------------------------------+----+
| 1 | Decrement current memory cell. | - |
+--------+-------------------------------------------------------+----+
| 2 | Move to next memory cell. | > |
+--------+-------------------------------------------------------+----+
| 3 | Move to previous memory cell. | < |
+--------+-------------------------------------------------------+----+
| 4 | Input a byte and store it in the current memory cell. | , |
+--------+-------------------------------------------------------+----+
| 5 | Output the current memory cell as ASCII. | . |
+--------+-------------------------------------------------------+----+
Örnekler
Selam Dünya:
roll-over roll-over heel roll-over roll-over roll-over roll-over heel heel heel
heel heel heel heel heel heel sit roll-over roll-over roll-over heel roll-over
roll-over roll-over heel heel heel heel heel heel heel heel roll-over roll-over
heel roll-over roll-over roll-over roll-over roll-over heel roll-over roll-over
roll-over roll-over roll-over stay roll-over roll-over roll-over heel roll-over
roll-over heel roll-over roll-over roll-over heel roll-over roll-over roll-over
roll-over heel heel heel heel heel heel heel sit roll-over roll-over roll-over
heel roll-over roll-over roll-over heel heel heel heel roll-over roll-over heel
roll-over roll-over roll-over roll-over roll-over heel roll-over roll-over
roll-over roll-over roll-over stay roll-over roll-over roll-over heel roll-over
roll-over roll-over heel roll-over roll-over roll-over roll-over roll-over heel
roll-over heel heel heel heel heel heel heel roll-over roll-over roll-over
roll-over roll-over heel heel roll-over heel heel heel roll-over roll-over
roll-over roll-over roll-over heel roll-over roll-over roll-over heel heel heel
roll-over roll-over roll-over roll-over heel heel heel heel heel heel heel heel
sit roll-over roll-over roll-over heel roll-over roll-over roll-over heel heel
heel heel roll-over roll-over heel roll-over roll-over roll-over roll-over
roll-over heel roll-over roll-over roll-over roll-over roll-over stay roll-over
roll-over roll-over heel roll-over roll-over heel roll-over roll-over roll-over
heel heel heel roll-over roll-over roll-over roll-over heel heel heel heel heel
heel heel heel heel heel sit roll-over roll-over roll-over heel roll-over
roll-over roll-over heel heel heel heel heel heel heel heel heel roll-over
roll-over heel roll-over roll-over roll-over roll-over roll-over heel roll-over
roll-over roll-over roll-over roll-over stay roll-over roll-over roll-over heel
roll-over roll-over roll-over roll-over heel heel heel roll-over roll-over
roll-over roll-over heel roll-over roll-over roll-over roll-over heel heel heel
heel roll-over roll-over heel roll-over heel heel heel roll-over roll-over
roll-over roll-over roll-over heel roll-over roll-over heel heel heel heel heel
heel roll-over roll-over roll-over roll-over heel roll-over roll-over heel heel
heel heel heel heel heel heel roll-over roll-over roll-over roll-over heel
roll-over roll-over roll-over heel heel roll-over roll-over roll-over roll-over
heel roll-over roll-over roll-over roll-over roll-over heel
kurallar
- Her başvuru tam bir program veya işlev olmalıdır. Bir işlevse, yalnızca işlev çağrısını programın altına eklemeye gerek duyularak çalıştırılabilir olmalıdır. Başka herhangi bir şey (örn. C'deki başlıklar) dahil edilmelidir.
- Mümkünse, lütfen kodunuzun test edilebileceği çevrimiçi bir siteye bağlantı verin.
- Programınız hiçbir şey yazamıyor
STDERR
(veya buna benzer bir şey). - Girdileri
STDIN
(veya dilinize en yakın alternatifi) veya bağımsız değişken olarak alabilirsiniz. - Standart boşluklar yasaktır.
puanlama
Programlar baytlara göre puanlanır . Varsayılan karakter kümesi UTF-8'dir, farklı bir karakter kullanıyorsanız lütfen belirtin.
Bu bir yana, bu kod golfve en düşük bayt sayısı kazanan sayılır!
gönderimler
Yanıtınızın göründüğünden emin olmak için lütfen aşağıdaki Markdown şablonunu kullanarak yanıtınızı bir başlıkla başlatın:
# Language Name, N bytes
N
gönderiminizin büyüklüğü nerede . Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Başlığınıza birden fazla sayı eklemek istiyorsanız (örneğin, puanınız iki dosyanın toplamı olduğu veya yorumlayıcı bayrak cezalarını ayrı olarak listelemek istediğiniz için), gerçek puanın başlıktaki son sayı olduğundan emin olun :
# Perl, 43 + 2 (-p flag) = 45 bytes
Dil adını, daha sonra skor tablosu snippet'inde görünecek bir bağlantı da yapabilirsiniz:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
Liderler Sıralaması
İşte hem düzenli bir skor tablosu hem de kazananları dile göre gözden geçirmek için bir Yığın Parçacığı.
Güncelleme:
sit
Ve stay
komutlarını çok iyi açıklamadığım için üzgünüm . @ User6245072'nin dediği gibi BF gibi [
ve içindeler ]
.
Güncelleme 2:
@ KennyLau'nun sorularını açıklığa kavuşturmak için:
- Varsayılan işlem şudur
0
. - Bellek 8-bit hücrelerden oluşur.
- Hücreler taşma / taşma üzerine sarılır.
- İşlem 4 için giriş gereklidir.
1
"bir sonraki hücreyi artır" der, ancak karşılık gelen BF kodu "mevcut hücreyi azalt" dır. Hangisi doğru davranıştır?
sit lie-down roll-over play-dead heel