Ruby (1.9+)
Оскільки це конкурс на популярність, давайте спробуємо не використовувати БУДЬ-кого з персонажів із "Hello world!" при цьому використовуйте інші символи лише максимум два рази:
puts("S\107VsbG8gV29ybGQhCg".unpack(?m))
Це 40 символів до доби.
Баш
І цей використовує магію unicode.
Примітки:
- Хоча оригінальні символи з’являються в іншому місці (на відміну від прикладу рубіну), друкована рядок містить лише символи, що не входять до списку.
- Два з трьох просторів насправді є вкладками, тому немає символів utf-8, які відображаються більше ніж у 2 рази
- Оскільки двійкові деякі октети з’являються більше ніж у 2 рази, сподіваємось, це не суперечить правилам. Я намагаюся їх вирішити.
Код:
echo '𝓗𝐞𝑙𝒍𝓸 𝓦𝗈𝖗𝖑𝘥¡'|iconv -t asCIi//TRANSLIT
Для тих, у кого не встановлений належний шрифт, це виглядає так:
Ось hexdump:
00000000 65 63 68 6f 20 27 f0 9d 93 97 f0 9d 90 9e f0 9d |echo '..........|
00000010 91 99 f0 9d 92 8d f0 9d 93 b8 e2 80 8a f0 9d 93 |................|
00000020 a6 f0 9d 97 88 f0 9d 96 97 f0 9d 96 91 f0 9d 98 |................|
00000030 a5 c2 a1 27 7c 69 63 6f 6e 76 09 2d 74 09 61 73 |...'|iconv.-t.as|
00000040 43 49 69 2f 2f 54 52 41 4e 53 4c 49 54 0a |CIi//TRANSLIT.|
0000004e
Ви повинні запустити його на машині, де за замовчуванням є charf utf-8. Я спробував на OSX10.8, використовуючи iTerm2 із наступним середовищем:
PHP 5.4
Для цього використовується zLib: (на жаль, він використовує символи e
та o
)
<?=gzuncompress('x▒▒H▒▒▒W(▒/▒IQ▒!qh');
Hexdump:
00000000 3c 3f 3d 67 7a 75 6e 63 6f 6d 70 72 65 73 73 28 |<?=gzuncompress(|
00000010 27 78 9c f3 48 cd c9 c9 57 28 cf 2f ca 49 51 e4 |'x..H...W(./.IQ.|
00000020 02 00 21 71 04 68 27 29 3b |..!q.h');|
00000029
+1
Ось код ruby 2.0, який я використовував для тестування дублікатів:
d=ARGF.read
p [d.split(//),d.unpack('C*')].map{|x|x.inject(Hash.new(0)){|i,s|i[s]+=1;i}.select{|k,v|v>2}}