var QUESTION_ID=91182,OVERRIDE_USER=26997;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Ответы:
Excel VBA,
142179175160155 байтовИнструкция:
Установите рабочий лист Excel, где ячейка A1 является входом, а столбец C - выходным.
Установите выравнивание текста в столбце C по центру. Напишите и запустите следующий код в Immediate Window:Разрушил код:
Выход:
Примечание: шрифт и цвет - это только личный выбор.
15 байтов сохранено благодаря предложению edc65. Благодарю.
5 байтов сэкономлено благодаря предложению ТейлорСкотта. Благодарю.
источник
"_"
к T. Как это[C1]="|":[C2]="/_\":T=[A1]&" ":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/__\":Cells(i+4,3)="VvV":Columns(3).HorizontalAlignment=-4108
[C:C].HorizontalAlignment=-4108:[C1]="|":[C2]="/_\":T=[A1]&"_":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/__\":Cells(i+3,3)="VvV
[C:C].HorizontalAlignment=3:[C1]="|":[C2]="/_\":T=[A1]&"_":For i=1To Len(T):Cells(i+2,3)="|"&Mid(T,i,1)&"|":Next:Cells(i+2,3)="/___\":Cells(i+3,3)="VvV
Perl 6, 75 байт
источник
slurp.chomp.comb
... Perl странный.{[~] " |\n /_\\\n",|(" |$_|\n"for $_.comb)," |_|\n/___\\\n VvV"}
65 байтовJavaScript (ES6), 54
прямой
Контрольная работа
источник
На самом деле, 40 байтов
Да, эти новые строки должны быть там.
Попробуйте онлайн!
Объяснение:
Новые строки представлены
\n
для упрощения форматированияисточник
C,
83, 82 байтаОсновной тест:
источник
F(char*c){for(puts(" |\n /_\\");*c;printf(" |%c|\n",*c++),puts(" |_|\n/___\\\n VvV");}
puts
должен выполняться только один раз, а не после каждогоprintf
. Но да, 1 байт сохранен, ууу!Python 2,
93666261 байтФГИТУ. Вероятно, может быть сильно в гольфе. Предложения приветствуются.
Изменить: 27 байтов благодаря Мего. 4 байта благодаря TheBikingViking. 1 байт благодаря пользователю 3030010.
Попробуйте онлайн!
источник
PHP,
73726962 байтаПринимает строку для печати на фюзеляже в качестве первого аргумента из командной строки при вызове сценария.
Улучшения:
join
.Попробуйте онлайн!
Это было весело! :-)
Образцы звонков:
источник
брейкфук , 179 байт
Попробуйте онлайн!
источник
Рубин,
5755 байт-2 байта от @ValueInk
Старая версия, предполагает ввод новой строки:-5 байтов, если предположить, что во входе нет новой строки, как это предлагается @manatwork. Ввод без новой строки может быть предоставлен, например
echo -n
, какecho -n hey | ruby rocket.rb
.Рубин,
6260 байтисточник
.chop
.\\
с\
. (В одинарных строках в кавычках символы не экранированы, за исключением\'
.Haskell, 58 байт
источник
Retina ,
4437 байт7 байтов благодаря Мартину Эндеру.
Попробуйте онлайн!
источник
Желе ,
3736 байтТот же счет, что и у существующей записи, ноиспользует забавную новую функцию -ŒB
векторизованную версиюŒḄ
, известную как bounce. Отскок выполняется через список до конца, а затем обратно,x[:-1]+x[::-1]
например:bounce("codegolf") == "codegolflogedoc"
.-1 байт благодаря Деннису (используйте векторизованную версию bounce)
Как?
Проверьте это на TryItOnline
источник
ŒB
это сокращение отŒḄ€
.Пайк ,
403735 байт(Обновлено для работы с последней версией)
Попробуй это здесь!
источник
V ,
41,39 байтовПопробуйте онлайн!
Обратите внимание, что по какой-то причине онлайн-переводчик выдал неожиданные результаты, поэтому я отправил отладочную версию онлайн-интерпретатору, который работает намного медленнее. Это должно дать правильные результаты сейчас.
Так как эта программа содержит непечатаемые символы, вот hexdump:
источник
R 163 байта
Ungolfed:
Мне не очень нравится тот факт, что мне пришлось поместить несколько пробелов в последнюю строку, но эй!
источник
PowerShell v2 +,
595551 байтПопробуйте онлайн!
Злоупотребляет значением
Write-Output
по умолчанию в конце выполнения, чтобы вставить новую строку между каждым элементом, так как это все буквальные строки в конвейере. Единственный «хитрый» бит - это цикл через каждый элемент ввода$args
в виде массива символов, чтобы получить тело ракеты.Использует буквальные переводы строк, как указано в ConnorLSW, для сохранения некоторых байтов.
Еще 4 байта благодаря Веске.
источник
\r
PowerShell, 70 байт
Установите $ a для ввода.
Если он должен принимать ввод, отличный от переменной, он может быть передан в:
Пример:
источник
Mathematica, 50 байтов
Анонимная функция. Принимает список символов в качестве ввода и возвращает строку в качестве вывода.
источник
PHP,
10810088 байт-8 байт благодаря бизнес-кошке
-12 байт благодаря YetiCGN
довольно просто
Ideone
источник
foreach(str_split($a)as$c)
вместо другого цикл for. Кроме того, вы можете поместить $ c непосредственно в строку, если используете двойные кавычки:echo" |$c| ....";
function f($a){echo' |. /_\\',preg_replace('/./',' |$0|',$a),' |_|/___\\ VvV';}
$a
с$argv[1]
и работает из командной строки делает его намного короче.C #,
106978074 байтаУ меня нет C # 6, чтобы попробовать выше, но я верю, что это будет работать
Сохранено 7 байтов благодаря Кевину Круйссену
Спасибо Manatwork за указание мне в правильном направлении, чтобы сэкономить 17 байт
Сохранено 6 байт благодаря молоку
источник
using System.Linq;s=>$(" |\n /_\\\n{string.Join("",s.Select(c=>" |"+c+"|\n"))} |_|\n/___\\\n VvV");
( 100 байт )Select
:" |"+c+"|\n"
→c+"|\n |"
вместе с перемещением `|` после него{}
перед ним.\n
с 2 байтами. Таким образом, вы сэкономите еще 5 байтов, заменив их новыми строками. Да, если вы используете Visual Studio, то по умолчанию новые строки будут иметь размер 2 байта, но вы можете открыть исходный файл в шестнадцатеричном редакторе (в Visual Studio он есть) и удалить символы возврата каретки. Вывод будет все тот же.C,
131, 121 байтисточник
p=s
в инициализацию и используяp
изнутриscanf
:main(){char s[99],*p=s;scanf("%s",p);P(" |\n /_\\\n");while(*p)P(" |%c|\n",*p++);P(" |_|\n/___\\\n VvV\n");}
Желе,
3837 байтПопробуйте онлайн!
Та же идея, что и с моим ответом Pyth, но это, вероятно, может быть гольф
источник
05AB1E ,
50474337 байтПопробуйте онлайн!
Сохранено 9 байт благодаря Аднану.
источник
IðJ
в начале программы, который также включает в себя основу фюзеляжа.«
раньше без особой удачи. Это намного лучше, хотя.U
и заменаX
сs
также экономит байты :).Котлин, 68 байт
Довольно просто. Использует многострочную строку и замену регулярного выражения. Это лямбда с
(String)->String
типом. Контрольная работа:источник
Гема, 50 знаков
Образец прогона:
источник
BASH
8470Сохранено 14 благодаря manatwork
Более половины байтов предназначены для добавления носа и двигателя.
источник
grep
?(cat&&echo _)|sed 's~.~ |&|\n~g;1s~^~ |\n /_\\\n~;$s~$~/___\\\n VvV~'
, На самом деле я не вижу смысла использоватьcat
иecho
то и другое. Короче превратился бы в чистыйsed
раствор.GolfScript,
6151 байтМой первый кодовый гольф, надеюсь, он достаточно хорош.
объяснение
Попробуйте онлайн!
источник
Vim,
4139 байтЗдесь
<End>
буквально ключ «Конец».Непечатные так:
источник
GNU sed ,
544948 байтовЭто был мой первый ответ на вызов на этом сайте. Решение простое, в основном печатное, поэтому я потратил некоторое время на то, чтобы больше не играть в гольф.
Попробуйте онлайн!
Спустя полгода, я переписал сценарий, использовал трюк для хорошей меры и увеличил его до 1 байта. Теперь это прогресс!
Пояснение: пространство шаблона на каждом шаге упоминается для ясности, учитывая пример ввода «GO»
источник
Lua,
83, 92 байтаfunction f(x)return' |\n /_\\\n'..x:gsub('(.)',' |%1|\n')..' |_|\n/___\\\n VvV'end
источник