Simule cowsay
no modo padrão.
$ cowsay <<< Hello
_______
< Hello >
-------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
$ perl -e 'print "Long text "x20' | cowsay
__________________________________________
/ Long text Long text Long text Long text \
| Long text Long text Long text Long text |
| Long text Long text Long text Long text |
| Long text Long text Long text Long text |
\ Long text Long text Long text Long text /
------------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Quão curto pode ser o código? A vaca e o balão podem ser ligeiramente diferentes, mas todos os elementos devem estar presentes. Balão dinâmico / multilinha é uma vantagem.
Lista explícita dos elementos necessários:
- Texto;
- Balão;
- Linha da vaca ao balão;
- A vaca (olho (s), mês, orelhas, corpo, pernas (mínimo dois), úbere, cauda).
/usr/share/cowsay/cows/
pode ser acessado, mas obviamente não /usr/games/cowsay
ele próprio.
Nota: aqui está o /usr/share/cowsay/cows/default.cow
arquivo:
$the_cow = <<"EOC";
$thoughts ^__^
$thoughts ($eyes)\\_______
(__)\\ )\\/\\
$tongue ||----w |
|| ||
EOC
O uso do arquivo é opcional. Quando usado, ele deve ser acessado pelo caminho completo. (Os usuários do Windows podem copiá-lo para algo como C:\usr\share\cowsay\co\default.cow
, para ser justo).
Respostas:
Mathematica: trabalho em andamento
Vou prender o balão assim que conseguir que a vaca se acomode:
fonte
Perl, 84 caracteres
Resultado:
É certo que eu jogava a vaca tanto quanto jogava o código. Mas a vaca Mathematica vai ganhar de qualquer maneira :)
Nota: Requer Perl 5.16 para o
/r
sinalizador de substituição não destrutivo.fonte
r
depois das///
? Não é possível encontrar esse sinalizador na documentação. Obrigado.r
sinalizador retorna o resultado, em vez de modificar o operando no lugar (<>
é claro que é somente leitura e não pode ser modificado).line-height: 1.4em
conjunto para os blocos de código, mas no terminal parece melhor.Ruby:
152150149146143 caracteresA arte da vaca é lida no arquivo default.cow e decorada da maneira após 12 rodadas contra Mike-Tyson, semelhante a uma
cowthink -e 'o*' -T 'U~'
invocação.O texto é lido a partir da entrada padrão e agrupado em no máximo 40 caracteres. Quebras de linha no texto de entrada não são suportadas.
Exemplo de execução:
Com dobra de arte:
138135136 caracteresComo os elementos precisam estar apenas presentes, podemos usar o que temos em vez de definir elementos realistas.
Exemplo de execução:
fonte
K, 178
.
fonte
APL
133 140 138122Esse liner recebe a entrada da tela na forma de um vetor ou matriz de caracteres entre aspas, através de: ← ⍎⍞ A aparência da saída é aprimorada ao incluir espaços iniciais e seguintes na entrada.
Os locais dos caracteres da vaca em cada linha da matriz são especificados como vetores booleanos de 19 bits.
Para usar a entrada, o liner seguido pelo texto da bolha entre aspas:
O texto de várias linhas é inserido como uma matriz.
Esta versão pode ser testada através do intérprete APL gratuito em www.nars2000.org
fonte
apt-get install
para executar o APL ... * /