Dimensiones del terminal de salida (columnas y filas) en cualquier formato decimal de dos números *. Por ejemplo, una salida podría ser 80x25
.
La inspiración . Pronto .
* La salida debe tener ambas medidas en una o dos líneas consecutivas, y no puede haber más de una línea de salida inicial y / o final (opcionalmente seguida de una nueva línea). Las (hasta cuatro) líneas no deben ser más largas que max (cols, 1 + len (str (cols)) + len (str (ro ws))).
Respuestas:
* sh, 9
Salida:
fuente
sh
designación realmente no tiene sentido de todos modos.Código de máquina 8086, 11 bytes (como función, no competitiva)
Realmente no compite ya que no tiene salida visible. Esto solo muestra la forma más corta de encontrar las dimensiones actuales de la pantalla, sin el código repetitivo requerido para la impresión.
Cómo funciona:
Código de máquina 8086, 48 bytes (como un programa completo)
Cómo funciona:
fuente
ret
? Además, no estoy seguro de que se te permita golpeards
. Es posible que esto deba llevarse a Meta, ya que la función funciona más de una vez, solo tiene efectos secundarios no deseados.RET
instrucción al final de la función?INT 20h
, no a través deRET
, exactamente porque después de salir de POPingRET
ya no funciona.Bash,
2220 caracteresGracias a:
Ejecución de muestra:
fuente
echo $COLUMNS\x$LINES
puede o / p80x24
xterm, 6 bytes
Como no necesita formato específico, simplemente puede usar el
resize
comando (6 caracteres) dexterm
:fuente
#xterm, 6 bytes
.sh, 20 bytes
... Demasiado obvio, tal vez ...
fuente
tput lines;!:0 cols
, ¿verdad?Python 3 , 30 bytes
Como no funciona en TIO, allí se usa una alternativa:
Pruébalo en línea!
fuente
os
?import os
yos.
es más corto quefrom...
.C (solo Linux),
6361fuente
m[0]
por*m
.m
un argumento de main:main(short m){ioctl(0,21523,&m);printf("%dx%d",m,(&m)[1]);}
main(int m){ioctl(0,21523,&m);printf("%x",m);}
sería de 46 bytes, con tamaños impresos en la base 16 y sin separador (aparte de los posibles ceros a la izquierda) entre columnas y filas.APL (Dyalog) , 3 bytes
(Publicar una respuesta ya que este realmente no es mi desafío).
⎕SD
S Creen D IMENSIONESEjecución de muestra:
fuente
C #, 59 bytes
Compila a a
Func<int, string
, sin embargo, la entrada no se utiliza.fuente
NodoJS,
504846 bytesUsos
process.stdout
scolumns
yrows
valores.fuente
console.log([s.columns,s.rows])
.with(process.stdout)console.log(columns,rows)
with(process.stdout)write(columns+[rows])
. O, si no cuenta:with(process.stdout)write(columns+' '+rows)
Ruby,
413621 + 13 = 34 bytesEjecutar con la bandera de línea de comando
-rio/console
Este es mi primer golf Ruby, así que dime si hay algo que pueda hacer mejor.
5 bytes guardados gracias a SztupY
2 bytes guardados gracias a manatwork
Esto genera la altura y luego el ancho como una lista de longitud dos.
Salida de ejemplo:
fuente
io/console
, ningún shell realizará una expansión no deseada si no se cita .GNU adelante, 7 bytes
Salida de muestra
¡Pruébelo en línea!
fuente
C # 94 bytes (aplicación completa)
La respuesta completa de la aplicación MetaColon se puede acortar bastante:
fuente
Modo PowerShell +, ¿11 bytes?
La salida puede no ser aceptable en la forma actual.
el
mode
comando es una utilidad predeterminada de windowsMeta Post sobre el uso de
mode
sin especificarcon
obtiene la salida del modo:
luego las líneas 4 y 5 (
[3,4]
) generan:fuente
(mode)[3,4]-replace"\D"
(mode con)[3..4]
con
necesario? esto obtiene las primeras líneas absolutamente, y creocon
que siempre es primero? Yo diría que unstandard
sistema solo tendrá una salida para el modo, ¿qué es lo que deberíamos asumir?Swift, 99 bytes
Gracias a los chicos de Vapor por su paquete de consola .
fuente
Lote,
25191817 bytesSe guardaron 6 bytes canalizando directamente al comando "buscar".
Guardado 1 byte gracias a Adám / OP .
Guardado 1 byte gracias al comentario de OP .
Esto genera el comando en sí ya que echo está activado pero, como comentó OP , una línea inicial está bien.
Dependiendo de su configuración, puede funcionar con solo 13 bytes. Sin embargo, parece que tener algo que use puertos COM provocará una salida demasiado detallada.
fuente
s:
→n
.mode
pero descubrí que agregar 'con' era más corto que buscar dos conjuntos de caracteres diferentesfindstr
.@mode|find "L" /i
? Devuelve líneas, columnas y retraso del teclado con 17 bytes en lugar de los 18 anteriores. ¿Es necesario que esas líneas iniciales / finales estén vacías?C #, 85 bytes
Si desea un código de aplicación completo, tendríamos
115 10194 Bytes :Sin embargo, también podría indicar el tamaño del búfer , tendríamos 85 bytes nuevamente
O como un código de aplicación completo (obviamente
11510194 Bytes nuevamente):Guardado 14 Bytes en todo el código de la aplicación con la ayuda de Caius Jard
fuente
using c=System.Console;class P{static void Main(){c.WriteLine(c.WindowWidth);c.Write(c.WindowHeight);}}
Java 8 (sin bibliotecas), Windows, 270 bytes
Publicar por separado por recomendación de Adam.
Sin golf:
fuente
cmd/c mode
lugar decmd /c mode
.cmd/c
resulta enCreateProcess error=2
. :(8 ,
241612 bytesRevisado después del comentario de Anders Tornblad.
Devuelve el tamaño actual de la consola en filas y columnas que imprimen el contenido de la pila.
Salida:
fuente
swap
?Java + * nix, 113
Sin golf:
ProcessBuilder.inheritIO
hace que se herede una entrada / salida de proceso hijo; Este es el valor predeterminado en C conexec
. En Java, el valor predeterminado es "canalizado". Como puede ver, esto es mucho más corto que usarRuntime.getRuntime().exec()
(que también está en desuso) y construir unaBufferedReader
llamada a través de una llamada larga y complicada que es el resultado de la aparente falta de voluntad de los diseñadores de API de Java para agregar una sobrecarga por conveniencia.fuente
ProcessBuilder
trabajar en Windows, pero elmode
comando genera más de 4 líneas :(Rojo , 19 bytes
Salida:
También puede obtener la resolución de pantalla como en la pregunta anterior
fuente
Commodore 64 BASIC, 7 bytes
El C64 tiene una consola de texto de tamaño fijo de 40 x 25 caracteres. No es necesario consultar el tamaño de la consola, lo cual es bueno, ya que no hay forma de consultarlo.
fuente
Kotlin + Jline 2 , 58 bytes
Porque, porque no. Resulta que la biblioteca estándar en realidad no tiene forma de determinar el tamaño de la consola, por lo que es necesario extraer una biblioteca, para que no quieras iniciar otro proceso y analizar el flujo de entrada ... sería una pena si alguien hiciera eso ...
fuente
Apilado , 7 bytes
Deja la salida en la pila, como se permite por defecto. Ejemplo de uso:
Bono:
termdim'x'#`
tenerlo117x26
.fuente
C (linux, solo C89),
4541inspirado en https://codegolf.stackexchange.com/a/118696/42186 por @dieter
esto genera el tamaño como datos binarios. No estoy seguro si esto cuenta como "cualquier formato". Necesitaría algo extra (menos, hexdump, od, ascii table) (o un emulador de terminal esotérico que lo haga automáticamente por usted) para que sea legible para los humanos. Ejemplo de uso:
El tamaño del terminal es de 204 cols por 58 filas.
Gracias a @ Random832 por usar en
od
lugar dehexdump
.fuente