Imprima una cuadrícula de asteriscos de 10 por 10


83

Antecedentes

Este es un ejemplo de libro de texto estándar para demostrar los bucles.

Este es uno de los primeros programas que aprendí cuando comencé a aprender programación hace ~ 10 años.

Tarea

Debe imprimir este texto exacto:

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

Especificaciones

  • Es posible que tenga nuevas líneas adicionales.
  • Puede tener espacios finales adicionales (U + 0020) al final de cada línea, incluidas las nuevas líneas finales adicionales.

Puntuación

Este es el . La respuesta más corta en bytes gana.

Tabla de clasificación

Aquí hay un fragmento de pila para generar una tabla de clasificación regular y una descripción general de los ganadores por idioma.


2
@DylanMeeus "Debe imprimir este texto exacto :"
Leaky Nun

13
@DylanMeeus Dado que eso tiene que ver con las herramientas de desarrollo que ocultan las salidas repetidas de la consola, y no es nativo de las consolas de JavaScript en su conjunto y no está en la especificación de JavaScript, además del hecho de que la función se puede desactivar, creo que Debería ser aceptable. No todos los navegadores lo colapsarán así.
Trotski94

66
¡Fragmento de la tabla de clasificación de @LeakyNun, por favor!
dkudriavtsev

2
Una de las cosas más interesantes de este desafío es que, dependiendo de su idioma, ********** puede ser más corto que un bucle. Me hace preguntarme cuándo es mejor para un idioma determinado cambiar entre 1 o 2 bucles.
dwana

1
Usted dice que son aceptables las nuevas líneas. ¿Son aceptables las nuevas líneas líderes también?
Albert Renshaw

Respuestas:




65

Bash + coreutils, 19 bytes

Prefiero repetir cosas en Bash usando 'sí'.

yes **********|head

Ahorré 2 bytes por sugerencia de @ Neil. Pero cuando el directorio donde está ejecutando este comando no solo contiene archivos que comienzan con un '.' dot necesita para encerrar las estrellas *con ".

Bash + coreutils, 21 bytes

yes "**********"|head

2
Gran idea para usar yes. Generalmente etiquetamos soluciones como "Bash + coreutils".
manatwork

8
Es bueno que 10 líneas casualmente sean el valor predeterminado para head.
Trauma digital el

3
¿Puede guardar dos bytes exigiendo que cualquier archivo en el directorio actual comience con un .?
Neil

@Neil, ¿tu comentario es para mi respuesta? Si es así, no lo entiendo :)
CousinCocaine

1
También puede escribir yes \**********|headsin restricciones en los archivos.
Florian F

50

Vim, 13 8 bytes

Guardado 5 bytes gracias a @Lynn

qqi*␛9.o␛q9@q 

10i*␛Y9p

10i*␛inserte 10 veces *, Y9pcopie la línea y péguela 9 veces.


8
10i*♥Y9ptrabajos.
Lynn el

1
Eso es una locura vi.
nbubis

Creo que puede contar pulsaciones de teclas en lugar de bytes para editores de texto, lo que significa que <ESC> sería más corto.
addison

1
¿Por qué ♥ y no ␛?
CL.

1
Me hubiera usado a yy9pmí mismo, ¡pero buen trabajo usando mayúsculas para salvar a un personaje!
Joe Z.

49

Pyth, 6 bytes

VT*T\*

Tes 10 en Pyth, Vabejecuta b atiempos de instrucción , \*es la constante de carácter de asterisco y multiplica ( *) una cadena y un entero repite esa cadena n veces. La impresión implícita de Pyth con Vmedios se imprimen 10 líneas.


40

Hexagonia 37 35 34 31

10"+}(=${";<$<1}42/.0@_=<>\;>(_

Expandido:

   1 0 " +
  } ( = $ {
 " ; < $ < 1
} 4 2 / . 0 @
 _ = < > \ ;
  > ( _ . .
   . . . .

Pruébalo en línea

Básicamente solo tiene dos para bucles contando desde diez hasta cero, imprimiendo un asterisco en el bucle interno y una nueva línea en el bucle externo.

Explicación:

Este programa consta de tres partes principales: inicialización de la memoria, un bucle que imprime diez asteriscos y un bucle que imprime una nueva línea. El bucle que imprime una nueva línea también contiene el bucle que imprime los asteriscos.

Primero, el código ejecuta la inicialización de memoria totalmente lineal. El código funciona a ser: 10"+}42. Esto configura la memoria de los bordes cercanos para que se vea así:

10 \ / 10
    |
   42

42 es el código ASCII para el carácter de asterisco, y las dos decenas se utilizarán como nuestros contadores de bucle. Es de destacar que el puntero de memoria está apuntando actualmente lejos de las dos decenas, por lo que moverse hacia atrás nos colocará en una de las decenas.

A continuación, comenzamos el ciclo de impresión de astersisk. Linealmente, el código es el siguiente: ;".._(. Esto imprime un asterisco, mueve el puntero de memoria hacia atrás y hacia la izquierda y finalmente disminuye el valor allí. Después de una iteración, la memoria se vería así:

10 \ / 9
    |
   42

Luego llegamos a la condición de bucle: el extremo inferior izquierdo >. Si el borde que acabamos de disminuir sigue siendo positivo, rebotamos y ejecutamos a {para movernos de nuevo al 42. Luego golpeamos ay regresamos $al comienzo del ciclo de impresión ;, saltando el <. Si el valor era cero, nos dirigimos al otro ciclo.

El bucle externo comienza restableciendo el borde de memoria recientemente puesto a cero a diez (este es 10el código, que va hacia el suroeste). Luego, imprimimos este diez como un carácter ASCII, que es una nueva línea. A continuación, pasamos a la otra orilla de memoria y disminuirlo con {(y luego ejecutar lo que equivale a un montón de noops: =${_=. Ahora, después de una iteración de este ciclo, la memoria se vería así:

 9 \ / 10
    |
   42

Esta vez, la memoria está mirando hacia afuera desde el borde y almacena un nueve en el diagrama anterior. Luego ejecutamos el <que actúa como la condición del bucle para el bucle externo. Si el valor no es cero, rebotamos en algunos espejos, luego comenzamos a ejecutar instrucciones significativas nuevamente después de ingresar a la parte superior del hexágono en el "suroeste en movimiento. Esto hace que nos movamos hacia atrás y hacia la izquierda, nuevamente a la 42, pero mirando hacia adentro. Luego, =cambia nuestra dirección, restableciendo el estado correctamente para comenzar el ciclo interno nuevamente. Si el borde se estableció en cero, el puntero de instrucción se embarca en una pequeña aventura que no hace nada hasta que sale del programa.

La aventura comienza con el puntero de instrucciones que se aventura hacia el noreste, sin tener en cuenta la seguridad de las direcciones cardinales. Valientemente ignora un espejo que está alineado con su dirección ( /) y salta heroicamente de un trampolín ($) evadiendo por completo la trampa mortal de otro trampolín totalmente idéntico. Mirando el vacío de los bordes del hexágono no inicializados, el puntero, sin vacilar por un momento, agrega los dos bordes en blanco que enfrenta, estableciendo el borde actual en su suma: 0 (el borde era en realidad cero de antemano, pero al puntero le gusta creo que esto fue bastante importante). Como el borde es cero, el puntero gira a la izquierda en la bifurcación de la carretera y se adentra en un bosque misterioso (de hexágonos). Allí, se encuentra desorientado, moviéndose hacia adelante y hacia atrás y hacia adelante, hasta que termina en el mismo lugar en la memoria que comenzó. Pensando que el problema debe ser que el borde actual se estableció en cero la última vez, el puntero planta valientemente un1en el borde actual Entonces, el noble puntero investiga otro camino, uno tendido con ... ¡una trampa! ¡El borde actual se reduce y vuelve a cero! El puntero, aturdido por el sorprendente giro de los acontecimientos, vuelve a tropezar en la trampa y establece el borde actual en negativo. Enfurecido, el puntero intenta regresar al bosque relativamente agradable, solo para darse cuenta de que, dado que el borde actual no es positivo, los caminos han cambiado una vez más y el puntero se encuentra caminando hacia una cueva. Y por una cueva, me refiero a la boca de un gusano hexagonal gigante. Indefenso, el puntero maldice la sexinidad con su último aliento. Además, el programa termina.


Golly, espero que al gusano le haya gustado tragarse un puntero. Esas cosas pueden doler .
Joffan

3
+1 por escribir la explicación de Hexagonía más interesante, la única, que he leído. ¡Me sentí tan tenso cuando se disminuyó el borde!
Joe

37

Emacs, 10 8 pulsaciones de teclas

F3 C-1 0 * ENTER F4 C-9 F4

Explicación

F3             Starts a macro recording
C-1 0 *        Apply 10 times command '*': prints 10 asterix'
ENTER          Insert new line
F4             Stops the macro record
C-9 F4         Apply 9 times the macro

Gracias a Sean por guardar dos pulsaciones de teclas, sugiriendo reemplazar C-udigitcon C-digit.


99
1, siempre upvote respuestas de texto editor (aunque yo soy más de un tipo vim yo) :)
DJMcMayhem

1
Si C-ucuenta como una sola pulsación de tecla, puede eliminar dos pulsaciones escribiendo C-1 C-0(o M-1 M-0) en lugar de C-u 1 0y en C-9lugar de C-u 9.
Sean

15
+1 porque tuvo que sufrir el uso de emacs para escribir esto.
addison

1
Alternativamente (no ahorra nada) la repetición de línea se puede hacer dentro de la macro:F3 C-1 0 * ENTER C-1 0 F4
Jonathan Carroll

@JonathanCarroll sí, ahorraría bytes si imprimiéramos más de 10 líneas;)
YSC

29

Jalea , 7 bytes

”*x⁵Ṅ9¡

¿Que esta pasando?

”*x⁵Ṅ9¡  - No arguments
”*       - character literal, *
  x      - multiply (dyadic operation)
   ⁵     - integer literal, 10 (we have now constructed the string '**********')
    Ṅ    - Print & linefeed (monadic operation)
     9   - integer literal, 9
      ¡  - Repeat n times (n is 9 as the first Ṅ is not a repeat)

Pruébalo en tryitonline


99
Realmente me gusta el Ṅ9¡.
Dennis

Versión de la lista: ”*ẋ⁵Wẋ⁵.
Erik the Outgolfer

@EriktheGolfer necesitarías un Yal final para "imprimir este texto exacto"
Jonathan Allan

@JonathanAllan Sin embargo, es una lista en sí misma. No está destinado a "imprimir este texto exacto", pero si desea trabajar en él, lo usará.
Erik the Outgolfer

26

PowerShell, 14 12 bytes

,('*'*10)*10

Construye una cadena de asteriscos de longitud 10usando la multiplicación de cadenas. Encapsula eso en parens y lo introduce en el operador de coma para construir una matriz. Utilizamos la multiplicación de matrices para construir una matriz de 10 elementos que consta de ese elemento (es decir, una matriz de cadenas de asterisco de 10 elementos). Eso queda en la tubería, y la salida es implícita (dado que el valor predeterminado Write-Outputpara una matriz está separado por una nueva línea, lo obtenemos de forma gratuita, gracias a @Joey por la aclaración).

Mayores, 14 bytes

0..9|%{'*'*10}

Programa completo Bucles de 0a 9través de un ForEach-Objectbucle |%{...}. En cada iteración, usamos la multiplicación de cadenas para crear una 10cadena de longitud de *. Esas cadenas resultantes se dejan en la tubería, y la salida al final es implícita (dado que el valor predeterminado Write-Outputpara una matriz está separado por una nueva línea, lo obtenemos de forma gratuita, gracias a @Joey por la aclaración).


55
Me gusta, porque PowerShell puede ser tan detallado. Sin embargo, esto es elegante y corto.
dwana

Bueno, técnicamente la matriz nunca pasa a través de a ToString, se desenrolla y pasa elemento por elemento a Write-Output. En contextos donde la matriz se convierte en una cadena, obtiene sus elementos separados por espacios.
Joey

@ Joey Ah, claro, esa es una mejor manera de decirlo. Editaré la redacción (y mi plantilla de respuesta ;-)).
AdmBorkBork

1
Puedo estar sesgado aquí porque estoy involucrado con una implementación de PowerShell, así que tuve que aprender mucho de lo que realmente sucede dentro del intérprete;)
Joey

25

V , 7 bytes

10é*10Ä

Pruébalo en línea!

Tan simple como puede ser una respuesta.

Explicación:

10      "10 times:
  é*    "insert an asterisk
    10Ä "make 10 copies of the current line

Versión no competitiva (5 bytes):

10O±*

Explicación:

10O     " Insert the following on the next ten lines:
   ±    "   10 copies of
    *   "   an asterisk

Esto no funcionó cuando se publicó el desafío debido a un error.


Punto de orden: é y Ä son caracteres multibyte (al menos en utf-8, como los tiene aquí) por lo que este programa tiene una longitud de 9 bytes.
robar el

66
@rob Aquí están codificados en utf-8, porque así es como funciona el navegador. V usa la codificación "Latin1", donde están E9y C4respectivamente.
DJMcMayhem

21

Medusa , 12 10 bytes

Gracias a Zgarb por guardar 2 bytes.

P$'*
 &;10

Pruébalo en línea!

Explicación

Usando notación más convencional, este programa representa la siguiente expresión:

P( $( &;(10), '* ) )

&;toma un solo valor y crea un par con dos veces ese valor, así &;(10)que nos da [10 10]. Luego $se reforma la forma que forma una cuadrícula de asteriscos de 10x10. Finalmente, Pimprime la matriz en "formato de matriz" que imprime cada cadena en su propia línea.


20

HTML y CSS, 104 60 bytes

p::after{content:"**********"
<p><p><p><p><p><p><p><p><p><p>

No estoy seguro si el recuento de bytes es correcto (ya que no estoy contando las <style>etiquetas para CSS. El HTML también podría acortarse si utilizo un preprocesador HTML, pero no estoy seguro si eso está infringiendo las reglas

Gracias a manatwork y Business Cat.

Mira mi entrada de Jade de 36 bytes


Puede omitir los mensajes de cierre automático /y escribir todas las etiquetas en la misma línea. Pero mejor cambie las etiquetas a <p>ya que es más corto, incluso si necesita agregar p{margin:0}.
manatwork

2
Esto no es válido css. ¡Necesitas el soporte de cierre!
Richard Hamilton

25
@RichardHamilton css válidos y css de trabajo no son lo mismo
undergroundmonorail

1
@ClementNerma ¿Por qué alguien debería poner código después de esto?
Erik the Outgolfer

2
puedes dejar lo último >que creo
12Me21

16

Python 2, 22 21 bytes

print('*'*10+'\n')*10

print(("*"*10+'\n')*10)trabajó para mi.
piepi

66
@piepi Por eso, por lo general, es mejor jugar golf en Python 2: no necesitas paréntesis para llamar print.
shooqie

@shooqie No se puede superar una solución Python3 usando Python2. Python2 y Python3 son idiomas diferentes. Tampoco compararía la solución Python2 con un lenguaje de golf especializado como Pyth.
Alfe

16

MATLAB, 14 bytes

repmat('*',10)

No tengo MATLAB para probar esto, así que no estoy seguro si esto tiene espacios entre los *s.
Erik the Outgolfer

@EriktheGolfer claramente no :)
PieCot

mat sugiere una matriz, por eso pregunté.
Erik el Outgolfer

2
@ EriktheGolfer discúlpeme, fui grosero. Mat, de hecho, se refiere a una matriz, pero en este caso es una matriz de char, que es una matriz de cadenas (cada fila es como una cadena). Entonces, la matriz de salida se imprime una fila por línea, sin espacios entre los elementos de la misma fila.
PieCot

16

APL , 9 bytes

Funciona en todas las APL jamás realizadas.

10 10'*'

10 10 diez filas y diez columnas

 cíclicamente r epeating

'*' una estrella

TryAPL en línea!


Vale la pena señalar que esta solución no es específica de Dyalog; También funciona con GNU APL.
Arc676

3
@ Arc676 Verdadero. De hecho, funciona en todas las APL jamás realizadas.
Adám

argh, necesito solo un byte más ... yo casi te golpeo con el truco de "formato":∘.⊢⍨⍕⍨,⍨5
NGN

@ngn ¡Eso es maravillosamente horrible!
Adám

14

Java 7, 63 bytes

void f(){for(int i=0;i++<10;)System.out.println("**********");}

Sólo por diversión. Parece que no puedo encontrar ningún truco para hacer esto más corto. Intentar agregar lógica para un bucle de 100 o devolver una cadena en lugar de imprimir simplemente termina peor.


1
Puede afeitarse un byte si declara icomo una variable de clase (por defecto 0):int i;void f(){for(;i++<10;)System.out.println("**********");}
shooqie

1
Eso rompería la reutilización a menos que hiciera i=0algo en la función, negando los ahorros.
Geobits

3
1 Parece que está hecho justo que este es el más corto .. recursiva es de 65 bytes: int i=10;void f(){System.out.println("**********");if(i-->0)g();}; Uno por uno recursivo es de 67 bytes: int i=99;void f(){System.out.print(i%10<1?"*\n":"*");if(i-->0)g();}; Usando String-constructor con char-matriz es de 82 bytes: void g(){System.out.print(new String(new char[10]).replace("\0","**********\n"));}; y una String.Format es de 81 bytes: void g(){System.out.print(String.format("%010d",0).replace("0","**********\n"));}. Ah bueno, lo intentamos. ;)
Kevin Cruijssen

2
¿Pero cuenta sin tener que agregar la declaración de clase en sí? ¿Cuál es el programa completo más corto de java7 que puede hacer esto?
jsbueno

1
Debe contar la declaración de importación, para que no funcione para ahorrar aquí.
Geobits

14

Ruby, 15 caracteres.

puts [?**10]*10

Ejecución de muestra:

bash-4.3$ ruby -e 'puts [?**10]*10'
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********

¿Puede usted explicar ?**10? De hecho, crea una cadena de diez asteriscos, pero no tengo claro cómo ...
erich2k8

3
El ?es la notación literal de caracteres, entonces ?* == '*'. El segundo *es el String.*método , entonces ?**10 == '*'.*(10).
manatwork el

Me temo que todavía no entiendo por qué ?es la notación literal de algo, pero quizás algunas preguntas se dejen sin respuesta. ;)
erich2k8

Lo siento, no puedo encontrar ninguna referencia sobre esto. Es simplemente la sintaxis de Ruby, que permite varias anotaciones literales de cadena más una en caso de que la cadena tenga 1 carácter de largo: una ?marca seguida por el carácter, sin requerir un par de cierre de la ?marca.
manatwork

1
Lo encontré en la referencia aquí: ruby-doc.org/core-2.3.0/doc/syntax/literals_rdoc.html There is also a character literal notation to represent single character strings, which syntax is a question mark (?) followed by a single character or escape sequence that corresponds to a single codepoint in the script encoding:
erich2k8

13

Bloc de notas, 34 31 pulsaciones de teclas

**********
^A^C↓^V^A^C↓^V^V^V^V

^ denota Ctrl- <siguiente carácter> pulsación de tecla, ↑ ↓ son teclas arriba y abajo, respectivamente.

Atrezzo a Crypto para 3 pulsaciones de teclas guardadas.


2
Debes usar las teclas para contar esto.
Leaky Nun

1
Eso es Shift + Up. Ctrl + Arriba es otra cosa.
Neil

1
31 pulsaciones de teclas**********↵^A^C↓^V^A^C↓^V^V^V^V
Crypto

1
26 pulsaciones de teclas*****^A^C^V^V↵^A^C^V^A^C^V^V^V^V^V
Andy

55
23 pulsaciones de teclas**^A^C^V^V^V^V^V↵^A^C^V^V^A^C^V^V^V^V^V
Andy

13

Emojicode , 54 bytes

🏁🍇🔂i⏩0 10🍇😀🔤**********🔤🍉🍉

Explicación:

🏁🍇                        👴 The beginning of program.
    🔂 i ⏩ 0 10 🍇          👵 This is called a "range".
                          It basically starts with i=0 and increments until i=10, then exits. 👵
        😀 🔤**********🔤    👵 😀 is printing class.
                          The 🔤s make the characters they surround string literals. 👵
    🍉                     👴 End of range
🍉                         👴 End of program

2
Cuento 54 bytes utf-8.
Conor O'Brien

Este lenguaje odia a Windows 7 ...
John Dvorak


10

R, 27 29 bytes

cat(rep('\r**********\n',10))

Una respuesta alternativa (34 bytes) es: cat(rep('**********',10),sep='\n')


Esto agrega un espacio adicional al comienzo de todas las líneas excepto la primera (ver aquí ).
plannapus

Gracias, funciona agregando \r.
Mamie

1
Otra alternativa, demasiados (37) bytes: cat(matrix('*',10,10),fill=10,sep='') r-fiddle
Jonathan Carroll

Otra alternativa, también 29 bytes:write(rep("*",100),"",10,,"")
Giuseppe

1
Y write(rep("**",50),1,5,,"")tiene 27 bytes y evita el primer retorno de carro.
J.Doe

9

PHP, 32 bytes

for(;$i++<10;)echo"**********
";

(variante 32 bytes - se escribió con echo)

<?=str_repeat("**********
",10);

(variante 33 bytes)

<?=str_pad("",110,"**********
");

(variante 33 bytes)

for(;$i++<110;)echo$i%11?"*":"
";

(variante 35 bytes)

for(;$i++<10;)printf("%'*10s
",'');

(variante 38 bytes)

<?=($a=str_repeat)($a("*",10)."
",10);

3
El segundo también se puede jugar a 32 bytes :<?=str_repeat("**********↵",10);
insertusernamehere

1
Como ya tiene una buena colección de alternativas, aquí hay otra para divertirse: echo chunk_split(str_repeat("*",100),10);la más larga hasta ahora, solo en mi visión, esta es la forma de PHP para hacerlo.
manatwork

Puede ser un byte más corto con codificación WIN-1252: for(;++$i<111;)echo$i%11?~Õ:~õ;ofor(;++$i<11;)echo~ÕÕÕÕÕÕÕÕÕÕõ;
aross

Otra variante de módulo de 33 bytes: for(;$i++<110;)echo"*↵"[$i%11<1];. Y añadir una solución de 37 bytes a esa colección: for(;$i++<110;)echo chr($i%11?42:10);.
Titus


8

Brainfuck, 46 43 bytes

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

Pruébalo en línea! Requiere un intérprete con una cinta abierta a la izquierda y con celdas de 8 bits.

La primera parte de este programa +[[---<]+[-->]<]configura la cinta así:

[255, 250, 245, ... 15, 10, 5, 0, 250, 240, 230, ..., 40, 30, 20, 10, 0]
                                                                      ^

Esto da un 40 para generar asteriscos ( *ASCII 42), un 20 para usar como contador de bucle y un 10 para usar para generar nuevas líneas.


7

JavaScript (ES6), 37 bytes

console.log(`**********
`.repeat(10))

Una respuesta directa.


55
¿No puedes ahorrar 6 usando alert?
Kevin L

1
Podría decirse que podría guardar 13 bytes eliminando console.log()y especificando REPLen el título.
Patrick Roberts el

6

Cheddar, 21 20 bytes

print('*'*10+'
')*10

Otra respuesta más directa.


44
Use una nueva línea literal para guardar 1 byte
Leaky Nun

2
¿Hacer una función usando en ->lugar de imprimir tal vez?
Downgoat

6

Haskell, 29 bytes

putStr$[0..9]>>"**********\n"

<list1> >> <list2>hace (length <list1>)copias de <list2>.


6

R, 35 33 32 bytes

Ô R, eres tan prolijo a veces .

for(i in 1:10)cat(rep("*",10),"\n")

Curiosamente, la catfunción no tiene valor (proporciona NULLa STDOUT), por lo que no puede hacer algo así rep(cat(rep))), ¡lo que hubiera sido más divertido!

EDITAR:
Nueva solución propuesta por @LeakyNun, -2 bytes.

for(i in 1:10)cat("**********\n")

EDITAR: acortándolo solo por -1 byte, por @ user5957401

for(i in 0:9)cat("**********\n")

3
for(i in 1:10)"**********\n"
Leaky Nun

1
@LeakyNun: ¡La simplicidad es la clave! Tenía catsin embargo, de lo contrario no produce nada.
Frédéric

cat(rep("**********\n",10))
Leaky Nun

@LeakyNun No produciría la salida deseada: ver aquí . El separador predeterminado en cates un espacio, de ahí esta salida.
plannapus

5

Retina , 12 bytes

El recuento de bytes asume la codificación ISO 8859-1. El avance de línea principal es significativo.


10$**
.
$_¶

La primera etapa escribe una cadena de diez asteriscos, la segunda etapa reemplaza cada asterisco con la cadena completa y un salto de línea. Esto imprime dos avances de línea finales.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.