Нарисуй ASCIIrisk


25

Существует множество вопросов, связанных с рисованием фигур с использованием звездочек - поэтому я подумал, что с таким количеством звездочек мы должны нарисовать один с использованием таблицы ASCII.

Вызов

Ваша задача - написать программу или функцию, которая не требует ввода и выводит точный текст:

          !
         "#
         $%
         &'
         ()
         *+
         ,-
         ./
         01
23456789:;<=>?@ABCDEF
GHIJKLMNOPQRSTUVWXYZ[
        \]^_
       `a  bc
      de    fg
     hi      jk
    lm        no
   pq          rs
  tu            vw
 xy              z{
|}                ~

Для справки, этот сайт перечисляет полную таблицу ASCII.

правила

  • Вывод должен быть точным текстом, как показано выше. Пробелы в начале / конце разрешены.
  • Применяются стандартные лазейки для игры в гольф - не читайте этот ASCIIrisk из интернета и т. Д.
  • Это , поэтому выигрывает самое короткое решение (в байтах).

2
Я хочу попробовать этот вызов ... но это звучит довольно рискованно . Пожалуйста, извините за мой ужасный юмор.
— HyperNeutrino

1
У переполнения стека есть политика NoBadJokes, поэтому мне придется игнорировать этот комментарий. Извините, но это политика

2
Хорошо. Извините за нарушение политики. Спасибо, что проигнорировали мой комментарий, ответив на него.
— HyperNeutrino

Ответы:


5

05AB1E , 40 38 37 36 35 байт

žQ2ô376S3*£`2ôvyN·ð×ýð«}rsJ2äsr)˜.c

Попробуйте онлайн!

объяснение

žQ                                   # push the printable ascii chars
  2ô                                 # split into pairs
    376S                             # split the number 376 into a list of digits
        3*                           # multiply each by 3 to get [9,21,18]
          £                          # divide the pairs of ascii chars into 
                                     # pieces of these sizes
           `                         # flatten list to stack
            2ô                       # split the "legs" of the asterisk into pairs of pairs
              v                      # loop over the pairs of pairs
               yN·ð×ý                # join the pairs by index*2 spaces
                     ð«              # append a space
                       }             # end loop
                        rs           # move the middle section to top of stack
                          J2ä        # convert to a string split into 2 pieces
                             sr      # rearrange the stack in the correct order
                               )˜    # wrap in a flattened list
                                 .c  # pad each element with spaces on either side

žQ2ôÐ9£s30£R21£RøsrR18£R2ôvyN·ð×ý})˜.C»У меня есть 39, но я думаю, что вы можете побриться с помощью ZIP.
— Волшебная урна осьминога

@carusocomputing: я не думаю, что zip здесь очень полезен, поскольку мы хотим, чтобы символы оставались последовательными. Хотя разбивать все по парам на старте было хорошей идеей. Чувствовать себя расточительно, используя так много т и з, но я не вижу способа обойти это.
— Эминья

13

Python 3 , 110 байт

s='%c';print(('\n'.join(['%10c%c']*9+[s*21]*2+[' '*(8-i)+s*2+'  '*i+s*2for i in range(9)]))%(*range(32,128),))

Создает шаблон

         xx
         xx
         xx
         xx
         xx
         xx
         xx
         xx
         xx
xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
        xxxx
       xx  xx
      xx    xx
     xx      xx
    xx        xx
   xx          xx
  xx            xx
 xx              xx
xx                xx

с %cдляx , затем использует строковую интерполяцию range(32,128)для вставки значений ASCII в шаблон.

Попробуйте онлайн!

Python 2 длиннее на один байт, распаковка длиннее, но короче print.

s='%c';print('\n'.join(['%10c%c']*9+[s*21]*2+[' '*(8-i)+s*2+'  '*i+s*2for i in range(9)]))%tuple(range(32,128))

Он заслуживает награды за сходство с Эйфелевой башней!
— Сергей

11

V , 54 , 50 байтов

¬ ~9ñ9É 11|á
ñ2ñ20lá
ñ$18é 9ñ^y|Ehé
Pf xxywk$hP>ñd

Попробуйте онлайн!

В отличие от обычной, эта программа не содержит непечатаемых символов.

Объяснение:

¬ ~                     " Insert the entire printable ASCII range
   9ñ           ñ       " 9 times:
     9É                 "   Insert 9 spaces at the beginning of this line
        11|             "   Move to the 11'th column on this line
           á<CR>        "   And append a newline after the 11'th column

Теперь буфер выглядит так:

          !
         "#
         $%
         &'
         ()
         *+
         ,-
         ./
         01
23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

Теперь мы строим середину:

2ñ        ñ             " Two times:
  20l                   "   Move 20 characters to the right (because 'l' == 'right', duh)
     á<CR>              "   Append a newline

Вот где это становится немного странным.

$                       " Move to the end of this line 
 18é                    " Insert 18 spaces before the last character
     9ñ                 " Repeat the following 9 times:
       ^                "   Move to the first non-whitespace character
        y|              "   Yank all the whitespace before the current character. 
                        "   We'll call this the "Leading whitespace register"
          E             "   Move to the end of the current WORD (up to before a space)
           h            "   Move back one character
            é<CR>       "   And insert a newline before the current character
P                       "   Paste the leading whitespace for indentation
 f                      "   Move forward to a space
   xx                   "   Delete two characters
                        "   (Note how we are inbetween the two bottom branches right now)
     yw                 "   Yank everything upto the next branch (all spaces)
                        "   We'll paste this on the line up so that we can yank it again later
                        "   To keep track of how far apart the branches are
       k$               "   Move up a line and to the end of that line
         hP             "   Move back a character and paste the whitespace we yanked
           >            "   Indent this line by one space
            ñ           "   End the loop

Вот важная заметка. Команда на >самом деле является оператором , что означает, что она ничего не делает без аргумента, текста, с которым нужно работать. Например,

>_      "Indent the current line
>>      "Indent the current line
>j      "Indent the current and next line
>G      "Indent every line

Но поскольку эта команда находится в цикле, мы можем сохранить символ, не задавая оператора. В конце цикла, если какой-либо оператор находится в состоянии ожидания, он заполнит_ неявно (текущая строка) как аргумент.

Теперь я признаю, что этот цикл немного странный, и может быть трудно отследить, как должен выглядеть весь текст в любой данный момент. Таким образом, вы можете использовать эту более простую программу, чтобы увидеть, как она будет выглядеть после N циклов.

Если вы установите значение 9, вы увидите, что у нас есть немного лишнего текста, от которого нужно избавиться. (Просто текущая строка).

Таким образом, мы удаляем текущую строку с dd. Но ждать! Вы знаете, как я сказал, что операторы должны принимать аргумент, который иногда неявно заполняется? Аргументы также неявно заполняются в конце программы. Таким образом, вместо ddили d_(которые эквивалентны), мы можем просто dпозволить и позволить V заполнить _для нас.


Хорошая работа, злоупотребляющая неявным ÿ:)
— Kritixi Lithos

5

Python 3 170 165 155 147 байт

Я так много играл в гольф, я забыл, как это работает ...

i=b=0
for x in range(32,127):a=x%2<1;c=x>90;d=x<50;print(end=[' '*9*d,['\n'+' '*(8-i),'  '*~-i][b]][c]*a+chr(x)+'\n'*(x==70or d*x%2));b^=a;i+=b*c*a

Попробуйте онлайн!


5

JavaScript (ES6), 156 … 115 114 байт

К сожалению, печально известный String.fromCharCode()стоит 19 байтов.

f=(x=y=k=1)=>k<96?String.fromCharCode(x-22?y/2^5&&(y>9?x-y+1>>1&&22-y-x>>1:x/2^5)?32:31+k++:(x=!++y,10))+f(x+1):''

console.log(f())

Отформатировано и прокомментировано

f = (                         // given:
  x =                         //   - x = current column
  y =                         //   - y = current row
  k = 1                       //   - k = current ASCII character code, minus 31
) =>                          //
  k < 96 ?                    // if we havent't reached character #127 (96 + 31):
    String.fromCharCode(      //   let's compute the next character
      x - 22 ?                //   if x is not equal to 22 (end of line):
        y / 2 ^ 5 && (        //     if y doesn't equal 10 or 11 (horizontal bar):
          y > 9 ?             //       and either y is greater than 9:
            x - y + 1 >> 1 && //         and we are not located on one of the
            22 - y - x >> 1   //         bottom diagonals
          :                   //       or y is less or equal to 9:
            x / 2 ^ 5         //         and x doesn't equal 10 or 11 (vertical bar)
        ) ?                   //     then:
          32                  //       append a space
        :                     //     else:
          31 + k++            //       append the next ASCII character
      :                       //   else:
        (x = !++y, 10)        //     increment y, reset x and append a LineFeed
    ) + f(x + 1)              //   do a recursive call with x + 1
  :                           // else:
    ''                        //   stop recursion

Я думаю, что вы можете сделать, String.fromCharCode(...[...Array(n)].map(_=>k++))чтобы сохранить 4 байта.
— ETHproductions

@ETHproductions Мне нравится идея вызова String.fromCharCode()массива, но я выбрал другой подход. Спасибо, в любом случае!
— Arnauld

3

QBIC , 153 151 байт

[32,49,2|?space$(9)+chr$(a)+chr$(a+1)][2|X=Y[a,a+20|X=X+chr$(c)]a=a+21?X][0,8|X=space$(8-d)[0,1|X=X+chr$(a+e)]X=X+space$(d*2)[2,3|X=X+chr$(a+f)]a=a+f?X

На самом деле это просто серия циклов FOR и приведение int к персонажу ( chr$()).

Образец вывода:

          !
         "#
         $%
         &'
         ()
         *+
         ,-
         ./
         01
23456789:;<=>?@ABCDEF
GHIJKLMNOPQRSTUVWXYZ[
        \]^_
       `a  bc
      de    fg
     hi      jk
    lm        no
   pq          rs
  tu            vw
 xy              z{
|}                ~


3

PHP, 110 105 103 93 91 байт

for(;$c<95;$y+=!$x%=21)echo"
"[$x],chr(31+($y%11<9&(max($y,10)-abs(9.5-$x++))%11<9?:++$c));

печатает ведущий символ новой строки. Запустите -nrили протестируйте его онлайн .

Основной принцип принят от Арно, но это повторяется.
И он использует хорошие преимущества от неявных типов PHP:
NULL для int для строкового индекса, float для int для %, логическое для int для &и для +=.

объяснение с псевдокодом

If $x is 0, print a newline. ("\n"[$x] is newline for $x=0; empty for every larger $x)
if $y is neither 9 nor 10 (not middle part: $y<9|$y>10 <=> $y%11<9)
AND distance to center == abs(9.5-$x) (in [0.5,1.5,..,10.5]) ->
    lower part:     abs($y-10-distance)>1                   => ($y-distance)%11<9
                (this works because $y is always <20)
    upper part: $x<9|$x>10 <=> distance>1 <=> 10-distance<9 => (10-distance)%11<9
                (this works because % has negative results for negative first operands)
    both parts: $y>9?$y:10 <=> max($y,10)
// $a?:$b evaluates to $a if $a is truthy, to $b else
// and the ternary condition evaluates to 1 if the coords are not in the shape
then print chr(31+1) = space
else print chr(31+incremented $c)

2

Pyth , 53 байта

js.e@[+L*9;cb2c2b.e+*-8Ydj*yYdZcL2cb4)kcsrdC127,18 60

Программа, которая печатает результат.

Попробуйте онлайн!

Как это работает

srdC127 создает список печатаемых символов ASCII и объединяет его в строку.

c....,18 60разбивает эту строку на индексы 18и60 , давая список из трех строк, соответствующих различным частям вывода: верхняя, средняя и нижняя.

.eначинает нумерованную карту над строками со строками as bи их индексами какk .

[...)создает список, содержащий желаемое действие для каждой части диаграммы. Правильное действие выбирается путем индексации в списке с текущим индексом, используя @...k.

  • верхний

    cb2разбивает строку на пары символов и +L*9;добавляет 9пробелы к каждой паре.

  • средний

    c2b разбивает строку на две строки одинаковой длины.

  • Дно

    cL2cb4 разбивает строку на группы по четыре символа, а каждая группа на пары.

    .eначинает нумерованную карту с парами строк как Zи их индексами как Y.

    j*yYdZобъединяет пары в 2*Yпространствах и +*-8Ydдобавляет 8-Yпробелы.

jsобъединяет все результаты и присоединяет результирующий список к новым строкам. Это тогда неявно напечатано.


2

Haskell , 144 байта

b!n=[1..n]>>b
('*':r)#(a:s)=a:r#s
(a:r)#s=a:r#s
r#s=r
p="**"
f=unlines([" "!9++p]!9++["*"!21]!2++[" "!(8-n)++p++" "!(2*n)++p|n<-[0..8]])#[' '..]

Попробуйте онлайн!

Объяснение:

b!n=[1..n]>>bопределяет функцию, !которая повторяет список или строковое b nвремя.

unlines([" "!9++p]!9++["*"!21]!2++[" "!(8-n)++p++" "!(2*n)++p|n<-[0..8]]) использует эту функцию, чтобы нарисовать звездочку (О, ирония!):

         **
         **
         **
         **
         **
         **
         **
         **
         **
*********************
*********************
        ****
       **  **
      **    **
     **      **
    **        **
   **          **
  **            **
 **              **
**                **

#определяется как функция, которая последовательно заменяет *в строке символы из данного списка. Он [' '..]вызывается с указанными звездочками и представляет собой бесконечный список всех символов, начинающихся с пробела ' '.


Супер поздно на вечеринку здесь, но это " "!(2*n)может быть "(TWO SPACES)"!n.
— Линн


2

J, 63

(не конкурирует)

a.{~32>.31+20 21$(* +/\),(9 21&$@{.,1:,1:,}.)(+.1&|."1)|.=|i:10

выражение оценивается справа налево таким образом:

  • i: 10 рассчитывает от -10 до +10
  • | возьмите пресс, чтобы получить +10 к 0 обратно к +10
  • = самостоятельно классифицировать, чтобы получить V форму 1 в блоке 0
  • |. обратный порядок строк, чтобы получить / \ shape
  • ( +. 1&|."1 ) выражение хука сдвигает каждую строку вправо на одну и ИЛИ с оригиналом
  • ( 9 21&$@{. , 1: , 1: , }. ) вложенные вилки, чтобы положить горизонтально и растянуть верх
  • , разложить блок в линейную последовательность для кумуляции
  • ( * +/\ ) накопить и умножить с собой
  • 20 21 $ вернуть форму в блок 20 рядов из 21 элемента
  • 31 + добавить 31, потому что первая 1 должна быть пробелом код 32
  • 32 >. пол на 32
  • a. {~ выбрать символы из встроенного ASCII

4
Добро пожаловать в PPCG! Почему вы отметили это как не конкурирующее?
— Мартин Эндер

Я просто подумал, что добавлю свои усилия, хотя прошло уже много [15 месяцев] после начала соревнования ... ты говоришь, что каждая головоломка остается открытой? .. также для того, чтобы выражение J печаталось вне REPL, т.е. при выполнении в скрипте мне нужно было бы добавить префикс smoutputкоманды или эквивалент
— Джайприч

Проблемы, как правило, остаются открытыми на неопределенный срок (даже если ответ уже принят). Существуют некоторые особые типы задач, которые иногда закрываются для новых записей (цепочки ответов, копы и грабители, царь горы), но они обычно говорят об этом в описании задачи. Что касается того, является ли это действительным форматом ответа, вам нужно будет спросить кого-то с большим опытом J, но ответы REPL, как правило, хороши, если они помечены как таковые.
— Мартин Эндер

1

Рубин, 91 байт

->{(-11..8).map{|i|["%s"*21,"%#{9-i}s%s%#{i*2+1}s%s","%10s%s"][i/2<=>-1]}*$/%[*' '..?~,$/]}

Ungolfed

->{(-11..8).map{|i|            #For each line
  ["%s"*21,                    #If i/2==-1 make a format string of 21 %s
   "%#{9-i}s%s%#{i*2+1}s%s",   #If i/2>-1 make a format string %{9-i}s%s%{i*2+1}s%s
   "%10s%s"][i/2<=>-1]         #If i/2<-1 make a format string %10s%s
  }*$/%                        #Join the format strings with newlines $/ then use sprintf operator %
  [*' '..?~,$/]                #to replace the %s with *' '..'~' and a newline for last corner.
}

1

Я пропустил ответ в C #, так что ...

C # (.NET Core) , 175 174 байта

_=>{var r="";for(int i=0,j,d=32,s=1;i<54;i++)for(j=0;j++<"*#4#4#4#4#4#4#4#4#+K)%1###/#%#-#'#+#)#)#+#'#-#%#/###1#"[i]-33;)r+=(char)(i%2<1?32:d++)+(s++%21<1?"\n":"");return r;}

Попробуйте онлайн!

  • 1 байт сохранен благодаря Кевину Круйссену!

1
Вы можете сохранить байт, поставив int s в цикл for:for(int i=0,j,d=32,s=1;i<54;i++)for(j=0
— Кевин Круйссен,

1

Tcl , 209 байт

proc I {} {incr ::i}
proc A {} {time {append a [$::F %c [I]]} 21;puts $a}
set i 31
time {puts [[set F format] %10c%c [I] [I]]} 9
A
A
time {puts [$F %[expr 32-[I]/4]c%c $i [I]][$F %[expr $i/2-45]c%c [I] [I]]} 9

Попробуйте онлайн!


Tcl , 212 байт

proc I {} {incr ::i}
proc A {} {time {append a [$::F %c [I]]} 21;puts $a}
set i 31
time {puts [[set F format] %10c%c [I] [I]]} 9
A
A
time {puts [$F %[expr (129-[I])/4]c%c $i [I]][$F %[expr $i/2-45]c%c [I] [I]]} 9

Попробуйте онлайн!

tcl, 213

proc I {} {incr ::i}
set F format
proc A {} {time {append a [$::F %c [I]]} 21;puts $a}
set i 31
time {puts [$F %10c%c [I] [I]]} 9
A
A
time {puts [$F %[expr (129-[I])/4]c%c $i [I]][$F %[expr $i/2-45]c%c [I] [I]]} 9

демонстрация


tcl, 214

proc I {} {incr ::i}
set F format
proc A {} {time {append a [$::F %c [I]]} 21;puts $a}
set i 31
time {puts [$F %10c%c [I] [I]]} 9
A
A
time {I;puts [$F %[expr (129-$i)/4]c%c $i [I]][$F %[expr $i/2-45]c%c [I] [I]]} 9

демонстрация


tcl, 227

proc I {} {incr ::i}
set F format
proc A {} {time {append ::a [$::F %c [I]]} 21}
set i 31
time {puts [$F %10c%c [I] [I]]} 9
A
set a $a\n
A
puts $a
time {I;puts [$F %[expr (129-$i)/4]c%c $i [I]][$F %[expr $i/2-45]c%c [I] [I]]} 9

демонстрация

ткл, 236

proc I {} {incr ::i}
set F format
proc A {} {time {append ::a [$::F %c [I]]} 21}
set i 31
time {puts [$F %10c%c [I] [I]]} 9
set a ""
A
set a $a\n
A
puts $a
time {I;puts [$F %[expr (129-$i)/4]c%c $i [I]][$F %[expr $i/2-45]c%c [I] [I]]} 9

демонстрация


ткл, 237

proc I {} {incr ::i}
set F format
proc A {} {time {set ::a $::a[$::F %c [I]]} 21}
set i 31
time {puts [$F %10c%c [I] [I]]} 9
set a ""
A
set a $a\n
A
puts $a
time {I;puts [$F %[expr (129-$i)/4]c%c $i [I]][$F %[expr $i/2-45]c%c [I] [I]]} 9

демонстрация


Альтернативный подход с таким же размером:

proc I {} {incr ::i}
set F format
proc A b {time {upvar $b c;set c $c[$::F %c [I]]} 21}
set i 31
time {puts [$F %10c%c [I] [I]]} 9
set a ""
A a
set a $a\n
A a
puts $a
time {I;puts [$F %[expr (129-$i)/4]c%c $i [I]][$F %[expr $i/2-45]c%c [I] [I]]} 9

демонстрация

Tcl, 288

lassign {set while puts format incr expr} S W P F I E
$S i 31
$W \$i<48 {$P [$F %10c%c [$I i] [$I i]]}
$S a ""
$W {[$I i]<71} {$S a $a[$F %c $i]}
$S a $a\n
$W \$i<92 {$S a $a[$F %c $i];$I i}
$P $a
$W \$i<128 {$P [$F %[$E (129-$i)/4]c%c $i [$I i]][$F %[$E $i/2-45]c%c [$I i] [$I i]]; $I i}

демонстрация


tcl, 297 байт (наивная попытка)

set i 31
while \$i<48 {puts [format %10c%c [incr i] [incr i]]}
set a ""
while {[incr i]<71} {set a $a[format %c $i]}
set a $a\n
while \$i<92 {set a $a[format %c $i];incr i}
puts $a
while \$i<128 {puts [format %[expr (129-$i)/4]c%c $i [incr i]][format %[expr $i/2-45]c%c [incr i] [incr i]]; incr i}

демонстрация


1
Что вы подразумеваете под «наивной попыткой»? Не следует ли вместо этого указать длину в названии?

1
Я имею в виду, что есть место для игры в гольф больше, потому что есть еще много повторений. И я буду играть в гольф больше.
— sergiol

Необработанный подход имеет длину 254 байта.
— sergiol


@ Только для ASCII: Спасибо. Мой не совсем соответствует вашему предложению! ;)
— sergiol

1

Поэтический , 899 байтов

ill be honest with you
i expect a big solitude
i guess i had a guilt
my own idea being:i was real alone,i was a lonely human
also,i am still
o,i guess i was expecting a shift
i figured,surely i know i am tired of silence
now i dreamed for a shift
a magical desire cant come
i am barely a man,so i guess i see why a woman i see ignores myself
i know i am awful
o,a night of passion and a moment of love
i am truly the foolish person,every time i am saying i may recapture a love
o,i think i can,i think i can
i really do know i am unfit
o,i notice a lot,i think i know i am unfit
o,a novel,or perhaps poetry in code,i do enjoy the writing
and i shudder and i wonder in a moment
i was a weirdo,i was a freak,or like,i am creepy
o,i think i was a misfit
i know i am,really
o,i ought not concern myself
and sure,i am still some joyless man
i focused and i tried
a lasting solace and joy is nearby for me

Попробуйте онлайн!

Poetic - это esolang, который я сделал в 2018 году для классного проекта. Это в основном бред с длинами слов вместо символов.

Это стихотворение ... удручает. 😟


0

Python 2,7, 194 188 байт

k,l,c,s,r=8,0,chr,' ',range;o=''.join(map(chr,r(32,127)))
for i in r(0,18,2):print s*9+o[i:i+2]
print o[18:39]+'\n'+o[39:60]
for i in r(60,95,4):print s*k+o[i:i+2]+s*l+o[i+2:i+4];k-=1;l+=2

Вы можете оставить 2 байта путем изменения map(chrв map(cкачестве cуже определена какchr

0

Jq 1,5 , 180 байт

foreach((range(9)|[9,2]),(range(2)|[0,21]),(range(9)|[8-.,2,.+.,2]))as$r({s:[range(32;127)]|implode};.r=$r|.p=""|until(.r==[];.p+=" "*.r[0]+.s[:.r[1]]|.s =.s[.r[1]:]|.r=.r[2:]);.p)

расширенный

foreach (                              # instruction sequence: [indent, count]
    (range(9)|[9,2]),                  # 9 rows of 2 characters indented 9 spaces
    (range(2)|[0,21]),                 # 2 rows of 21 characters
    (range(9)|[8-.,2,.+.,2])           # 9 rows of 4 characters with varying indent
) as $r (
    {s:[range(32;127)]|implode}        # state = ascii string
  ; .r = $r                            # current instruction
  | .p = ""                            # print string for this row
  | until(.r==[];                      # until current instruction is exhausted
        .p += " "*.r[0] + .s[:.r[1]]   # add to print string
      | .s = .s[.r[1]:]                # remove from state
      | .r = .r[2:]                    # remove from instruction
    )
  ; .p                                 # emit print string
 )

Попробуйте онлайн!


0

Косая черта ( /// ), 324 байта

          !
         "#
         $%
         &'
         ()
         *+
         ,-
         .\/
         01
23456789:;<=>?@ABCDEF
GHIJKLMNOPQRSTUVWXYZ[
        \\]^_
       `a  bc
      de    fg
     hi      jk
    lm        no
   pq          rs
  tu            vw
 xy              z{
|}                ~

Первое (по умолчанию) действие в Slashes - это «печать», поэтому строка печатается. /И \должны быть экранированы от производства\ s.


Вы должны добавить количество байтов и предпочтительно ссылку на переводчика. Хотя это выглядит довольно безвкусно (не уверен, что лучше сделать лучше в ///).
— Стьюи Гриффин

Это немного шутка, чтобы показать красоту ///, и я добавлю их!
— clabe45

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.