Archivo .COM de MS-DOS, 56 bytes
Aquí el contenido del archivo en hexadecimal:
b4 09 ba 2c 01 cd 21 b2 2f e8 11 00 b2 2d e8 0c
00 b2 5c e8 07 00 b2 7c e8 02 00 eb ea b4 02 cd
21 b2 08 cd 21 b9 05 00 f4 e2 fd c3 4c 6f 61 64
69 6e 67 2e 2e 2e 20 24
El código del ensamblador correspondiente se ve así:
    mov ah, 9      ; Print "Loading... "
    mov dx, text
    int 21h
theloop:
    mov dl, '/'    ; Call "chrout" for "/", "-", "\" and "|"
    call chrout
    mov dl, '-'
    call chrout
    mov dl, '\'
    call chrout
    mov dl, '|'
    call chrout
    jmp theloop    ; Endless loop
chrout:            ; Sub-Function "chrout"
    mov ah, 2      ; Output the character
    int 21h
    mov dl, 8      ; Output backspace
    int 21h
    mov cx,5       ; Call "HLT" 5 times
timeloop:
    hlt            ; Normally HLT will wait ~55 milliseconds
                   ; (Assuming no keyboard key is pressed)
    loop timeloop
    ret            ; End of the function
text:
    ASCII "Loading... ",'$'
                    
                        
                    
                    
                        Martin Rosenau
fuente
                
                fuente

mov al, 0xfe / out 0x21,alRespuestas:
NASM x86_64 -
349283bytesEsto debería ejecutarse en sistemas Linux de 64 bits
construido usando:
nasm loading_golfed.asm -felf64 && ld loading_golfed.oanimación:
ahorró 65 bytes - gracias user254948
fuente
R,
8589 bytesEditar: se corrigió la respuesta de modo que
Tno se desborde restableciendo el contador si es mayor que4.El único aspecto interesante de esta respuesta es el uso de R's
TRUTHYincorporadoT. Es efectivamente un conjunto de variables predefinido, lo1/TRUEque significa que no tenemos que inicializar el contador, pero podemos comenzar a incrementarloT.fuente
Teventualmente desbordar?1e+308en cuyo casoNAse devuelve, así que supongo que esta respuesta no es válida en ese momento (no lo noté en las reglas). Se actualizará prontoT:i=1;repeat{cat("\rLoading...",c("\\","|","/","-")[i]);Sys.sleep(.25);i=`if`(i>3,1,i+1)}es 87 bytes.Tun vector? FuncionaT=(T+1)%%4? Ahorraría otros 5 bytes.T=T%%4+1: incluso 2 bytes más cortos.Haskell (GHC),
10391 bytes¡Gracias @nimi por guardar 12 bytes!
fuente
mapM((threadDelay 250000>>).putStr)$("\rLoading... "++).pure<$>cycle"|/-\\".250000y el espacio anterior(4^9).C (en sistemas tipo UNIX) 88 bytes
Comienza con el personaje equivocado, pero creo que se ve mejor. Puede cambiar fácilmente el orden de los caracteres modificando "\ - / |" cuerda.
fuente
for, por ejemploain(_){for(;printf("\rLoading... %c","\\-/|"[_%4]);usleep(250000))_++,fflush(0);}, luego podría jugar golf más aún asumiendo un envoltorio para el desbordamiento de enteros:main(_){for(;printf("\rLoading... %c","\\-/|"[_++%4]);usleep(250000))fflush(0);}fprintf(stderr,...lugar, podría usarlo , ya que esa no es una línea de búfer comostdout. Laf...stderr,toma de ocho caracteres, mientras que lafflush(0);toma de diez, así que es una ganancia neta de dos caracteres.Perl,
716361 bytesVersión previa:
Gracias a @primo por 10 bytes.
fuente
selecttiempo de espera en lugar deTime::HiRes. Puede guardar algunos bytes utilizando... while$|=printy moviendo los guiones en la transliteración al frente y al final.s//\r Loading... |/También guarda un byte sobre la asignación.y'-\|/'\|/-'.\r.y'-|\/'\/|-'/4en lugar de.25por 2 más.