Нарисуй 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), 156115 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.