Це не ракетна наука


59

Напишіть програму або функцію, яка виконує однорядковий рядок. Ви можете припустити, що він містить лише друкований ASCII . Роздрукуйте або поверніть рядок арт-ракети ASCII, наприклад

  |
 /_\
 |E|
 |a|
 |r|
 |t|
 |h|
 |_|
/___\
 VvV

з вхідним рядком, написаним зверху вниз на фюзеляжі. У цьому випадку вхід був Earth. Висота ракети (включаючи полум'я) завжди є довжиною струни плюс п’ять.

Кожен рядок у висновку може мати до двох проміжних проміжків, і може бути один необов'язковий останній новий рядок. Виграє найкоротший код у байтах.

Більше прикладів:

[empty string]

  |
 /_\
 |_|
/___\
 VvV

a

  |
 /_\
 |a|
 |_|
/___\
 VvV

|0

  |
 /_\
 |||
 |0|
 |_|
/___\
 VvV

\/\

  |
 /_\
 |\|
 |/|
 |\|
 |_|
/___\
 VvV

 _ _ [note trailing space]

  |
 /_\
 | |
 |_|
 | |
 |_|
 | |
 |_|
/___\
 VvV

    [4 spaces]

  |
 /_\
 | |
 | |
 | |
 | |
 |_|
/___\
 VvV

SPACEY

  |
 /_\
 |S|
 |P|
 |A|
 |C|
 |E|
 |Y|
 |_|
/___\
 VvV

Таблиця лідерів


1
Пов'язані . Можуть бути й інші, які є досить близькими, що вважають це дурнем.
Пітер Тейлор

2
@Sefa Spaces так. Ніякого іншого пробілу. Як вказує пов'язана вікі .
Захоплення Кальвіна

6
О, я побачив назву і очікував щось про операцію на мозку. :(

17
І якщо нижні точки в небі ви сьогодні не підете в космос.
AstroDan

4
"Це спрацювало в космічній програмі Кербала ..."
Чарівний восьминога Урн

Відповіді:


55

Excel VBA, 142 179 175 160 155 байт

Інструкція:

Встановіть робочий аркуш Excel, де клітинка А1 є введенням, а стовпець С - як вихід. Встановіть вирівнювання тексту в стовпці С по центру . Напишіть та запустіть такий код у Негайне вікно:

[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=-4108

Невикористаний код:

Sub R()
    [C1] = "|"
    [C2] = "/_\"
    T = [A1]&"_"

    For i = 1 To Len(T)
        Cells(i + 2, 3) = "|" & Mid(T, i, 1) & "|"
    Next

    Cells(i + 2, 3) = "/__\"
    Cells(i + 3, 3) = "VvV"
    [C:C].HorizontalAlignment = -4108   'Set the text alignment in column C to center
End Sub

Вихід:

enter image description here

Примітка: шрифт і колір - це лише особистий вибір.


15 байт збережено за пропозицією edc65. Дякую.

5 байт збережено за пропозицією ТейлорШотта. Дякую.


Збережіть 15 байт, додавши "_"до 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
edc65

(Ок, у моєму коді є помилка, і редагувати її вже пізно. Але ви
розумієте

@ edc65 Я не розумію. Ваш код точно такий же, як і мій, і що я повинен редагувати, щоб зберегти 15 байт?
Анастасія-Романова 秀

1
154 Байт:[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
Тейлор Скотт

1
Або ви могли зменшити її до 151 байта, зберігаючи аспект центрування[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
Тейлор Скотт

30

Perl 6, 75 байт

"  |\n /_\\".say;" |$_|".say for slurp.chomp.comb;" |_|\n/___\\\n VvV".say;

101
slurp.chomp.comb... Перл дивний.
Mego

14
СЛУРП !!! ЧОМП !!! КОМБО !! Ось виходить чудовисько Перла!
stommestack

Зауважте, що за допомогою функції та конкатанації ви можете вирізати багато: {[~] " |\n /_\\\n",|(" |$_|\n"for $_.comb)," |_|\n/___\\\n VvV"}65 байт
user0721090601

Але ви можете піти ще нижче, запозичивши у JS: tio.run/…
user0721090601

22

JavaScript (ES6), 54

Прямо

x=>`  |
 /_\\
 |${[...x+'_'].join`|
 |`}|
/___\\
 VvV`

Тест

f=x=>`  |
 /_\\
 |${[...x+'_'].join`|
 |`}|
/___\\
 VvV`

function update() {
  O.textContent=f(I.value)
}

update()
<input id=I value='hello' oninput='update()'><pre id=O></pre>


16

Власне, 40 байт

"/___\
 VvV",'_o"|
 |"j'|o" |"+"  |
 /_\

Так, ці новинки повинні бути там.

Спробуйте в Інтернеті!

Пояснення:

Нові рядки представлені символом \nдля легшого форматування

"/___\\n VvV",'_o"|\n |"j'|o" |"+"  |\n /_\
"/___\\n VvV"                                create the bottom of the rocket
             ,'_o                            get input, append a "_" (for the last section before the jets)
                 "|\n |"j                    insert "|\n |" between every pair of characters
                         '|o                 append "|"
                            " |"+            prepend " |"
                                 "  |\n /_\  create the nose cone

12
Ваша програма виглядає гнітюче схожою на вибухнуту ракету.
corsiKa

15

C, 83 , 82 байти

F(char*c){for(puts("  |\n /_\\");*c;printf(" |%c|\n",*c++));puts(" |_|\n/___\\\n VvV");}

Основний тест:

int main() {
  F("");
  F("a");
  F("|0");
  F("\\/\\");
  F(" _ _ ");
  F("    ");
  F("SPACEY");
}

7
Я розробив власне рішення C, і виявилося, що саме ваш, характер для персонажа. +1 від мене.
Коді

По телефону і ледачий SSH, тож це не перевірено, але повинно працювати. Зберігає 2 байти (якщо я порахував правильно):F(char*c){for(puts(" |\n /_\\");*c;printf(" |%c|\n",*c++),puts(" |_|\n/___\\\n VvV");}
алгмір

@algmyr фактично зберігає один байт, оскільки останній putsповинен бути виконаний лише один раз, а не після кожного printf. Але так, 1 байт збережено, так!
Стефано Санфіліппо

Правильно. Я буду звинувачувати це в гольфі, коли я мав спати.
algmyr

Це не 88 байт?
гастропнер

10

Пітон 2, 93 66 62 61 байт

FGITW. Можливо, може бути сильно гольф. Пропозиції вітаються.

Редагувати: 27 байт завдяки Mego. 4 байти завдяки TheBikingViking. 1 байт завдяки користувачу3030010.

Спробуйте в Інтернеті!

lambda x:r"""  |
 /_\
 |%s|
/___\
 VvV"""%"|\n |".join(x+"_")

9

PHP, 73 72 69 62 байт

  |
 /_\
 |<?=join('|
 |',str_split($argv[1]._))?>|
/___\
 VvV

Приймає рядок для друку на фюзеляжі як перший аргумент з командного рядка, коли викликається сценарій.

Покращення:

  1. Збережено байт, замінивши \ n реальним новим рядком LF у першому аргументі join.
  2. Збережено ще три байти, додавши до входу основу ракети з одним підкресленням
  3. Завдяки Ісмаелю Мігелю : Збережено ще 7 байтів, скориставшись тим, що PHP був "препроцесором гіпертексту", тому ви можете виводити стільки тексту, скільки хочете, і запускати код десь посередині.

Спробуйте в Інтернеті!

Це було весело! :-)

Зразок дзвінків:

php rocket.php ""
php rocket.php EARTH
php rocket.php "This is a very long rocket"


Приємного гольфу! Я повністю забув про таку можливість. Дякую!
YetiCGN

Ласкаво просимо. Також я зберег 2 байти в першому рядку. У вас було 2 додаткові місця на ньому. Я мушу сказати, що це було те, чого я не очікував.
Ісмаїл Мігель

1
Я знаю, це було насправді німим, але теж дуже важко помітити. Я помітив лише один раз, коли я придумав 64 байти у вашій покращеній версії і повинен був з’ясувати, чому.
YetiCGN

8

мозковий ебать , 179 байт

>-[-[-<]>>+<]>-..[->+>++++<<]>>----.<<++++++++++.>.>>>+[-[--<]>>--]<.[-<+<++>>]<<+.---.<,[<<<.>.>.>.<.>,]<<<.[->>>+<<<]>.>.>>+++.<<.>.>>.<...---.<.<<.>>>------.[-<<<+<+>>>>]<<<.<.

Спробуйте в Інтернеті!


@ user00001 Цю фразу використовують усі мусульмани у всьому світі, а не лише терористичну. Ви справді думаєте, що терористи представляють усіх мусульман?
Лина монашка


8

Рубін, 57 55 байт

-2 байта від @ValueInk
-5 байт, припускаючи, що у вхідному документі немає нового рядка, як це запропонував @manatwork. Введення даних, що не містять рядки, може бути надано, наприклад echo -n, як, наприклад echo -n hey | ruby rocket.rb.

puts'  |
 /_\
 |'+gets.chars*'|
 |'+'|
 |_|
/___\
 VvV'
Стара версія, передбачає новий рядок у введенні:

Рубі, 62 60 байт

puts'  |
 /_\
 |'+gets.chop.chars*'|
 |'+'|
 |_|
/___\
 VvV'

Відповідно до коментаря власника питання, вхід не буде містити символ нового рядка, тому його можна видалити .chop.
манатура

@manatwork охайний, дякую :)
daniero

Якщо ви використовуєте окремі рядки цитат, ви повинні мати можливість замінити обидва \\ на \ . (У поодиноких цитованих рядках символи не уникаються, за винятком \'.
Value Ink

7

Хаскелл, 58 байт

f s="  |\n /_\\\n |"++((:"|\n |")=<<s)++"_|\n/___\\\n VvV"

7

Сітківка , 44 37 байт

7 байт завдяки Мартіну Ендеру.

$
_
.
¶ |$0|
$
¶/___\¶ VvV
^
  |¶ /_\

Спробуйте в Інтернеті!


залишає пробіл в ряду внизу :( для "Пробіл, остаточний кордон".
xQbert

@xQbert працює для мене, чи можна прикріпити посилання TIO?
Leaky Nun

Як не дивно, для мене це працює нормально ... ах моя помилка мала новий рядок наприкінці.
xQbert

Сітківка є єдиною мовою, яку я знаю, яка додавання нового рядка може повністю змінити програму.
caird coinheringaahing

6

Желе , 37 36 байт

;”_⁾ |;ЀŒB;“/___\“ VvV”“  |“ /_\”;Y

Такий же бал, що і в існуючому записі, але використовує нову цікаву функцію - ŒBвекторизовану версію ŒḄ, відому як відмов. Відскік працює за списком до його кінця , а потім назад , x[:-1]+x[::-1]наприклад: bounce("codegolf") == "codegolflogedoc".

-1 байт завдяки Деннісу (використовуйте векторизовану версію відмов)

Як?

;”_⁾ |;ЀŒB;“/___\“ VvV”“  |“ /_\”;Y - argument: a string, S
                        “  |“ /_\”   - the top of the rocket ["  |", " /_\"] 
;”_                                  - concatenate to make S=S+"_"
   ⁾ |;                              - concatenate to make c=" |"+c
       Ѐ                            - map over right argument i.e. for c in S
         ŒB                          - bounce! With vectorisation c[:-1]+c[::-1]
                                       e.g. " |B" -> " |B| "
           ;                         - concatenate with
            “/___\“ VvV”             - the bottom of the rocket ["/___\", " VvV"]
                                  ;  - concatenate the top with everything else
                                   Y - join with line feeds

Перевірте його на TryItOnline


2
ŒBкороткий для ŒḄ€.
Денніс


5

V , 41, 39 байт

ys$_òlé
òÎá|I |
Hr/$r\YO  |GpX2á_o VvV

Спробуйте в Інтернеті!

Зауважте, що чомусь онлайн-перекладач дав несподівані результати, тому я пересунув версію налагодження до інтерпретатора, який працює набагато повільніше. Це має дати правильні результати вже зараз.

Оскільки ця програма містить недруковані символи, ось шістнадцятковий набір:

0000000: 7973 245f f26c e90a f2ce e17c 4920 7c0a  ys$_.l.....|I |.
0000010: 4872 2f24 725c 594f 2020 7c1b 4770 5832  Hr/$r\YO  |.GpX2
0000020: e15f 6f20 5676 56                        ._o VvV

Приємно, але він не обробляє пробіли в "Космосі, фінальний кордон" цілком правильно.
xQbert

5

R, 163 байти

v=c();l="\n";for(i in 1:nchar(a<-scan(,"")))v=c(v,paste0(" |",strsplit(a,"")[[1]][i],"|",l,collapse=""));cat("  |",l," /_\\",l,v," |_|",l,"/___\\",l," VvV",sep="")

Безголівки:

v=c()     #Empty vector
l="\n"    #Line break

for(i in 1:nchar(a<-scan(,"")))                  #For the number of character of the input
    v=c(v, paste0(" |",strsplit(a,"")[[1]][i],"|","\n",collapse=""))
    #This part cut the input into its letters, paste each letter between `|`'s, 
    #and a line break

cat("  |",l," /_\\",l,v," |_|",l,"/___\\",l," VvV",sep="") #Puts everything in the STDOUT,
                                                           #with spaces where needed

Мені не дуже подобається те, що я повинен був помістити пробіли в останньому рядку, але ей!


5

PowerShell v2 +, 59 55 51 байт

"  |
 /_\"
$args|% t*y|%{" |$_|"}
" |_|
/___\
 VvV"

Спробуйте в Інтернеті!

Зловживає за замовчуванням Write-Outputв кінці виконання, щоб приклеїти новий рядок між кожним елементом, оскільки це все просто буквальні рядки на конвеєрі. Єдиний "хитрий" біт - це цикл проходження кожного елемента вхідного сигналу $argsу вигляді char-масиву, щоб отримати тіло ракети.

Використовує буквальні нові рядки, як зазначено ConnorLSW, щоб зберегти деякі байти.
Ще 4 байти завдяки Veskah.


ви можете помістити фактичні нові рядки в рядок, щоб зберегти 3, оболонка та ise виконати штрафи без\r
colsw


4

PowerShell, 70 байт

"  |`n /_\`n$(([char[]]$a|%{" |$_|"})-join("`n"))`n |_|`n/___\`n VvV 

Встановіть $ a на вхід.

Якщо він повинен приймати вхід, відмінний від змінної, він може бути записаний:

"Hello World"|%{"  |`n /_\`n$(([char[]]$_|%{" |$_|"})-join("`n"))`n |_|`n/___\`n VvV "}

Приклад:

  |
 /_\
 |H|
 |e|
 |l|
 |l|
 |o|
 | |
 |W|
 |o|
 |r|
 |l|
 |d|
 |_|
/___\
 VvV 

4

Математика, 50 байт

"  |
 /_\\
 |"<>(#<>"|
 |"&/@#)<>"_|
/___\\
 VvV"&

Анонімна функція. Приймає список символів як вхідний і повертає рядок як вихідний.


4

PHP, 108 100 88 байт

-8 байт завдяки бізнес-коту

-12 байт завдяки YetiCGN

echo'  | 
 /_\\
';foreach(str_split($argv[1])as$c){echo" |$c|
";}echo' |_|
/___\\
 VvV';

досить прямолінійний

Ідеон


1
Ви можете зберегти багато байтів, використовуючи foreach(str_split($a)as$c)замість іншого для циклу. Крім того, ви можете поставити $ c безпосередньо в рядку, якщо використовуєте подвійні лапки:echo" |$c| ....";
Business Cat

@BusinessCat Щоправда, дякую, що подвійні лапки не працювали з думкою про стиль масиву через дужки, що не інтерпретуються
Sefa

А як щодо регулярного вираження? function f($a){echo' |.␤ /_\\␤',preg_replace('/./',' |$0|␤',$a),' |_|␤/___\\␤ VvV';}
манатура

1
Навіщо навіть ставити функцію навколо неї? Заміна $aз $argv[1]і працює з командного рядка робить його набагато коротше.
YetiCGN

@manatwork Це, мабуть, достовірна альтернатива, але оскільки я її не розумію, і це не в тому ж дусі, як у мене, я дозволю вам її опублікувати.
Сефа

4

C #, 106 97 80 74 байт

s=>$@"  |
 /_\
 |{string.Join("|\n |",s.ToCharArray())}|
 |_|
/___\
 VvV";

У мене немає C # 6, щоб спробувати вище, але я вважаю, що це спрацює

Збережено 7 байт завдяки Кевіну Крейсейну

Завдяки манатурності за те, що я спрямовував мене в правильному напрямку, щоб заощадити 17 байт

Збережено 6 байт завдяки молоку


+1. Btw, пробіли пробілів необов’язкові, тому ви можете змінити його на: using System.Linq;s=>$(" |\n /_\\\n{string.Join("",s.Select(c=>" |"+c+"|\n"))} |_|\n/___\\\n VvV");( 100 байт )
Kevin Cruijssen

1
@KevinCruijssen Я щойно закінчував це оновлення після ваших коментарів до моєї попередньої відповіді :) Дякую за допомогу
TheLethalCoder

Ви можете зберегти деякі символи, скориставшись одним буквеним рядком всередині Select: " |"+c+"|\n"c+"|\n |"разом з переміщенням "|" після цього {}до нього.
манатура

@manatwork Мені здається, що це не може працювати
TheLethalCoder

1
Новий рядок на 1 байт порівняно \nз 2 байтами 's. Таким чином, ви збережете ще 5 байт, замінивши їх новими рядками. Так, якщо ви використовуєте Visual Studio, то за замовчуванням нові рядки становитимуть 2 байти, але ви можете відкрити вихідний файл у шестигранному редакторі (у Visual Studio є) та видалити символи повернення каретки. Вихід все одно буде однаковим.
молоко

4

C,  131  , 121 байт

#define P printf
main(){char s[99],*p=s;gets(s);P("  |\n /_\\\n");while(*p)P(" |%c|\n",*p++);P(" |_|\n/___\\\n VvV\n");}

Ви можете видалити три символи, перейшовши 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");}
Квентін,

добре .... я не знаю, чому "scanf ("% s ", & s)" замість "scanf ("% s ", s)" надрукувати в кінці правильний результат ... наприкінці тому, що scanf не отримує простори, які я віддаю перевагу небезпеці стає () ...
RosLuP

2
Будь ласка, не скасовуйте своїх публікацій. Дякую!
НіхтоНада


3

05AB1E , 50 47 43 37 байт

I'_J"  |
 /_\"svy" |ÿ|"}"/___\
 VvV"»

Спробуйте в Інтернеті!

Збережено 9 байт завдяки Аднану.


Рядок також може приймати нові рядки в 05AB1E: p, як це .
Аднан

@Adnan Приємно, дякую! Будь-яка ідея, як краще обійти порожній вхід?
Емінья

Я думав про підхід IðJна початку програми, який також включає основу фюзеляжу.
Аднан

@Adnan Чудова ідея. Я спробував це «раніше, без особливої ​​долі. Це набагато краще.
Емінья,

Видалення Uта заміна Xна sтакож економить байт :).
Аднан

3

Котлін, 68 байт

{"""  |
 /_\${it.replace(Regex("."),"\n |\$0|")}
 |_|
/___\
 VvV"""}

Досить прямо. Використовується багаторядковий рядок і заміна регулярного вираження. Це лямбда з (String)->Stringтипом. Тест:

fun main(args: Array<String>) {
    val function : (String)->String = {"""  |
 /_\${it.replace(Regex("."),"\n |\$0|")}
 |_|
/___\
 VvV"""}
    println(function(" _ _ "))
}

3

Гема, 50 символів

\A=  |\n\ /_\\\n
?=\ |?|\n
\Z=\ |_|\n/___\\\n\ VvV

Проба зразка:

bash-4.3$ echo -n gema | gema '\A=  |\n\ /_\\\n;?=\ |?|\n;\Z=\ |_|\n/___\\\n\ VvV'
  |
 /_\
 |g|
 |e|
 |m|
 |a|
 |_|
/___\
 VvV

3
Ви пропускаєте `| _ |` перед базою ракети, я думаю
TheLethalCoder

Ой. Тупий промах. Дякую @TheLethalCoder
манатство

1
+1 за ознайомлення з новою (для мене) мовою (не для гольфу).
Йорданія

3

БАШ 84 70

Збережено 14 завдяки маневреності

(cat&&echo _)|sed 's~.~ |&|\n~g;1s~^~  |\n /_\\\n~;$s~$~/___\\\n VvV~'

Більше половини байтів призначені для додавання носа та двигуна.


Чому grep? (cat&&echo _)|sed 's~.~ |&|\n~g;1s~^~ |\n /_\\\n~;$s~$~/___\\\n VvV~'. Насправді я не бачу причин для використання catі echoбудь-якого. Було б коротше перетворене на чистий sedрозчин.
манастирство

З чистим sed, ви не отримаєте жодного результату, якщо у вас немає входу
Riley

До. Ти правий. Вибачте, я забув цю частину вимоги.
манатство

@manatwork Я забув про це і в першій своїй спробі.
Райлі

Для подальшого ознайомлення уникайте використання тегів <pre> <code>. У майбутньому використовуйте 4 пробіли, що передують коду, оскільки це автоматично уникає форматування Markdown. Я підтримував поточне форматування завдяки перекреслюванню, але ви можете просто залишити це в історії редагування, а також для тих, хто цікавиться, щоб подивитися на нього.
Аддісон Кримп

3

GolfScript, 61 51 байт

Мій перший гольф-код, я сподіваюся, що це досить добре.

"  |
 /_\\
"\1/.,{" |"\(\"|
"\}\*" |_|
/___\\
 VvV"

Пояснення

"  |\n /_\\\n"   # Push the rocket's head
\                # Swap the head with the user's string
1/               # The string is converted into an array
.,               # Push array length
{" |"\           # Push the rocket's body and swap
(\               # Array's first element cut out
"|\n"\           # Push rocket's body and swap
}\*              # Repeat for array length times
" |_|\n/___\\\n VvV" # Push rocket's bottom

Спробуйте в Інтернеті!


3

Вим, 41 39 байт

Тут <End>буквально клавіша "Кінець".

i <End>_:s/./ |&|\r/g
/___\
 VvVggxo /_\

Недруковані матеріали так:

i <End>_^O:s/./ |&|\r/g
/___\
 VvV^[ggxo /_\^[

3

GNU sed , 54 49 48 байт

Це була моя перша відповідь на виклик на цьому сайті. Рішення просте, головним чином друковане, тому я витратив деякий час, переконуючись, що його більше не можна грати в гольф.

s:.:\n |&|:g
s::  |& /_\\&:
a\ |_|\n/___\\\n VvV

Спробуйте в Інтернеті!

Швидкий перемотка вперед через півроку я переписав сценарій, використав трюк для гарної міри і переграв його на 1 байт коротше. Зараз це прогрес!

Пояснення: простір шаблону на кожному кроці згадується для ясності, враховуючи приклад введення "GO"

s:.:\n |&|:g
   # turn each input char into a section of the rocket (\n |G|\n |O|)
s::  |& /_\\&:
   # 's::' is a trick; the search part is actually the one from the previous 's'
   #command, i.e. a char. Only the first char, '\n', the modifier 'g' is not
   #inherited. The replace part is the head of the rocket. (  |\n /_\\n |G|\n |O|)
a\ |_|\n/___\\\n VvV
   # append the tail of the rocket, plus implicit printing at the end

  |
 /_\
 |G|
 |O|
 |_|
/___\
 VvV

3

Луа, 83 , 92 байти

function f(x)return' |\n /_\\\n'..x:gsub('(.)',' |%1|\n')..' |_|\n/___\\\n VvV'end

print('  |\n /_\\\n'..(arg[1] and arg[1]:gsub('(.)',' |%1|\n') or '')..' |_|\n/___\\\n VvV')

Якщо я не додаю вашої відповіді. Вона не працює.
nolan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.