Você vai replicar o software da piada do porta-copos dos anos 90.
Aqui está o que ele fez e você precisa fazer:
- Exibir a mensagem
Do you need a cup holder?
- Se o usuário confirmar, insira um loop infinito que continua abrindo a unidade de CDROM.
- Se o usuário não confirmar, saia silenciosamente.
Você pode exibir a mensagem usando uma mensagem do console (a confirmação é y, o declínio é n) ou pode exibir uma janela de mensagem com as duas opções "Sim" e "Não". Você pode assumir a unidade de CD-ROM padrão (ou mais comum) ( D:
no Windows, /cdrom
no Linux etc.). As brechas padrão (exceto as incorporadas) são proibidas. Nenhuma entrada ou saída adicional pode estar envolvida. Se o seu PC não possui uma unidade física ou outro "estilo" de bandeja, verifique se o programa é válido.
code-golf , o programa mais curto em bytes vence.
Curiosidades: O loop existe para impedir que alguém feche a unidade. Nas unidades de área de trabalho, o comando reabrir será enviado enquanto a unidade estiver sendo fechada, permanecendo aberta e não "derramando café".
Respostas:
Bash,
115696866 bytesIsso foi escrito no Mac OS X, mas também deve funcionar em outros sistemas baseados em BSD.
Nós
echo
solicitamos, recebemos informaçõesset 1q
e determinamos se o usuário confirmou comgrep y
. Se o usuário dissey
, canalizamos a saída infinitayes
com a stringdrutil eject
para o shell, que ejeta continuamente a bandeja do disco.Economizou 50 bytes graças ao Digital Trauma!
fonte
sed
egrep
porread
?drutil tray eject
?drutil eject
é sinônimo dedrutil tray open
. Funciona como esperado. ;)read
em uma revisão anterior, mas precisaria de uma verificação de igualdade, o que a torna mais longa no geral. Você pode dar uma olhada no histórico de revisões para entender o que quero dizer.Vitsy + Mac OSX bash, 55 bytes
Espera entrada como y ou n. Se for n, executará a linha 2 (loop infinito com o comando shell), caso contrário, será interrompida.
fonte
Python (3.5) 84 bytes
No linux
editar: corrigir contagem de bytes;)
fonte
AutoIt , 85 bytes
Ninguém nunca responderá nada no AutoIt :)
fonte
Python 3.5 no Windows 7, 135 bytes
fonte