JavaScript (Rhino: 108, узел: 114, консоль разработчика Webkit: 119, плагин jQuery: 132)
Rhino является самым коротким (из 108 символов), потому что (a) его print
функция имеет короткое имя и (b) она позволит вам назначать встроенные функции в более короткое имя переменной. Так:
h=10,p=print,m='0',a=Array(h-1),s=a.join(' ');p(s+'*\n'+s+m);while(h-->2){m+='00';a.pop();p(a.join(' ')+m);}
Node.js прибывает console.log
за короткую секунду (с 114 символами), потому что его функция печати имеет более длинное имя, но это также позволит нам присвоить это и короткой переменной:
h=10,p=console.log,m='0',a=Array(h-1),s=a.join(' ');p(s+'*\n'+s+m);while(h-->2){m+='00';a.pop();p(a.join(' ')+m);}
Однако консоль разработчика Webkit (и, вероятно, Firebug тоже) считает, что p=console.log
она слишком подлая (когда вы пытаетесь позвонить p()
, она будет жаловаться на вас). Итак, мы должны удлинить до 119 символов:
h=10,m='0',a=Array(h-1),s=a.join(' ');with(console){log(s+'*\n'+s+m);while(h-->2){m+='00';a.pop();log(a.join(' ')+m);}}
(Интересно, with
только нас спасает персонаж).
Наконец ... плагин jQuery (все еще с возможностью твитнуть в 132 символа!):
$.fn.xms=function(h){var m='0',w=2,l=['*',m];while(w++<h)l.push(m+='00');$(this).css({textAlign:'center'}).html(l.join('\n<br/>'));}
И вы можете вызвать его в нижней части этой самой страницы: $('#footer').xms(3)
Конечно, это не обязательно должен быть плагин ... поскольку нам, вероятно, пришлось бы использовать консоль JavaScript, чтобы добавить ее на страницу и вызвать ее, мы могли бы просто сделать фрагмент jQuery :
h=10,m='0',w=2,l=['*',m];while(w++<h)l.push(m+='00');$('#footer').css({textAlign:'center'}).html(l.join('\n<br/>'));
который весит более конкурентоспособных 116 символов - на самом деле, он превосходит другие реализации консоли разработчика. Но, опять же, использование jQuery и / или механизма компоновки браузера может считаться обманом. :)