Euphoria - Rotinas da Biblioteca
Um grande número de rotinas de biblioteca é fornecido. Alguns são embutidos no intérprete,ex.exe, exw.exe or exu. Outros são escritos em Euphoria e você deve incluir um dos arquivos .e emeuphoria\include diretório para usá-los.
Para indicar que tipo de objeto pode ser passado e retornado, os seguintes prefixos são usados -
S.Não | Prefixo e descrição |
---|---|
1 | x um objeto geral (átomo ou sequência) |
2 | s uma sequência |
3 | a um átomo |
4 | i um inteiro |
5 | fn um inteiro usado como um número de arquivo |
6 | st uma sequência de string ou átomo de um único caractere |
Tipos Predefinidos
Além de declarar variáveis com esses tipos, você também pode chamá-los como funções comuns, para testar se um valor é de um determinado tipo.
inteiro | - | testar se um objeto é um inteiro |
átomo | - | testar se um objeto é um átomo |
seqüência | - | testar se um objeto é uma sequência |
objeto | - | testar se um objeto é um objeto (sempre verdadeiro) |
Manipulação de Sequência
comprimento | - | retornar o comprimento de uma sequência |
repetir | - | repita um objeto n vezes para formar uma sequência de comprimento n |
reverter | - | reverter uma sequência |
acrescentar | - | adicione um novo elemento ao final de uma sequência |
prefixar | - | adicione um novo elemento ao início de uma sequência |
Pesquisando e classificando
comparar | - | compare dois objetos |
igual | - | teste se dois objetos são idênticos |
encontrar | - | encontre um objeto em uma sequência - comece a pesquisar a partir do elemento número 1 |
find_from | - | encontre um objeto em uma sequência - comece a pesquisar a partir de qualquer número de elemento |
partida | - | encontre uma sequência como uma fatia de outra sequência - comece a pesquisar a partir do elemento número 1 |
match_from | - | encontre uma sequência como uma fatia de outra sequência - comece a pesquisar a partir de qualquer número de elemento |
ordenar | - | classificar os elementos de uma sequência em ordem crescente |
custom_sort | - | classificar os elementos de uma sequência com base em uma função de comparação fornecida por você |
Correspondência de padrões
mais baixo | - | converter um átomo ou sequência para minúsculas |
superior | - | converter um átomo ou sequência em maiúsculas |
wildcard_match | - | corresponde a um padrão contendo? e * curingas |
wildcard_file | - | corresponder um nome de arquivo com uma especificação curinga |
Matemática
Essas rotinas podem ser aplicadas a átomos individuais ou a sequências de valores.
sqrt | - | calcular a raiz quadrada de um objeto |
rand | - | gerar números aleatórios |
pecado | - | calcular o seno de um ângulo |
arcsin | - | calcule o ângulo com um determinado seno |
cos | - | calcular o cosseno de um ângulo |
arccos | - | calcule o ângulo com um dado cosseno |
bronzeado | - | calcular a tangente de um ângulo |
Arctan | - | calcular o arco tangente de um número |
registro | - | calcular o logaritmo natural |
chão | - | arredondar para baixo para o número inteiro mais próximo |
restante | - | calcule o resto quando um número é dividido por outro |
poder | - | calcular um número elevado a uma potência |
PI | - | o valor matemático PI (3,14159 ...) |
Operações lógicas bit a bit
Essas rotinas tratam os números como coleções de bits binários, e as operações lógicas são realizadas nos bits correspondentes na representação binária dos números.
Não há rotinas para mudar bits para a esquerda ou direita, mas você pode obter o mesmo efeito multiplicando ou dividindo por potências de 2.
and_bits | - | realizar AND lógico nos bits correspondentes |
or_bits | - | realizar OR lógico em bits correspondentes |
xor_bits | - | executar XOR lógico nos bits correspondentes |
not_bits | - | executar NÃO lógico em todos os bits |
Arquivo e dispositivo de E / S
Para fazer a entrada ou saída em um arquivo ou dispositivo, você deve primeiro abrir o arquivo ou dispositivo e, em seguida, usar as rotinas abaixo para ler ou gravar nele e, em seguida, fechar o arquivo ou dispositivo. open () lhe dará um número de arquivo para usar como o primeiro argumento das outras rotinas de E / S. Certos arquivos / dispositivos são abertos para você automaticamente (como arquivos de texto) -
- 0 - entrada padrão
- 1 - saída padrão
- 2 - erro padrão
abrir | - | abra um arquivo ou dispositivo |
Fechar | - | feche um arquivo ou dispositivo |
rubor | - | liberar dados em buffer para um arquivo ou dispositivo |
lock_file | - | bloquear um arquivo ou dispositivo |
unlock_file | - | desbloquear um arquivo ou dispositivo |
impressão | - | imprime um objeto Euphoria em uma linha, com colchetes e vírgulas {,,} para mostrar a estrutura |
pretty_print | - | imprimir um objeto Euphoria em um formato legível, usando várias linhas e recuo apropriado |
? x | - | abreviatura para impressão (1, x) |
arrancada | - | retornar um objeto Euphoria impresso como uma sequência de string |
printf | - | impressão formatada em um arquivo ou dispositivo |
sprintf | - | impressão formatada retornada como uma sequência de string |
coloca | - | enviar uma sequência de string para um arquivo ou dispositivo |
getc | - | leia o próximo caractere de um arquivo ou dispositivo |
pega | - | leia a próxima linha de um arquivo ou dispositivo |
get_bytes | - | leia os próximos n bytes de um arquivo ou dispositivo |
prompt_string | - | solicitar que o usuário insira uma string |
get_key | - | verifique a tecla pressionada pelo usuário, não espere |
wait_key | - | espere que o usuário pressione uma tecla |
pegue | - | ler a representação de qualquer objeto Euphoria de um arquivo |
prompt_number | - | solicitar que o usuário insira um número |
valor | - | leia a representação de qualquer objeto Euphoria de uma string |
procurar | - | mover para qualquer posição de byte em um arquivo aberto |
Onde | - | relatar a posição atual do byte em um arquivo aberto |
current_dir | - | retorna o nome do diretório atual |
chdir | - | mudar para um novo diretório atual |
dir | - | retorna informações completas sobre todos os arquivos em um diretório |
walk_dir | - | percorrer recursivamente todos os arquivos em um diretório |
allow_break | - | permitir que control-c / control-Break termine seu programa ou não |
check_break | - | verifique se o usuário pressionou control-c ou control-Break |
Suporte a mouse (DOS32 e Linux)
No Windows XP, se você deseja que o mouse DOS funcione em uma janela (não de tela inteira), desative o modo QuickEdit nas Propriedades da janela DOS.
get_mouse | - | retornar "eventos" do mouse (cliques, movimentos) |
mouse_events | - | selecione eventos de mouse para observar |
ponteiro do mouse | - | mostrar ou ocultar o ponteiro do mouse |
Sistema operacional
Tempo | - | número de segundos desde um ponto fixo no passado |
tick_rate | - | definir o número de tiques do relógio por segundo (DOS32) |
encontro | - | ano atual, mês, dia, hora, minuto, segundo etc. |
linha de comando | - | linha de comando usada para executar este programa |
getenv | - | obter o valor de uma variável de ambiente |
sistema | - | execute uma linha de comando do sistema operacional |
system_exec | - | execute um programa e obtenha seu código de saída |
abortar | - | terminar a execução |
dormir | - | suspender a execução por um período de tempo |
plataforma | - | descobrir em qual sistema operacional estamos executando |
Rotinas Especiais Dependentes da Máquina
machine_func | - | operações internas especializadas com um valor de retorno |
machine_proc | - | operações internas especializadas sem valor de retorno |
Depurando
vestígio | - | ativa ou desativa o rastreamento dinamicamente |
perfil | - | ativa ou desativa a criação de perfil dinamicamente |
Gráficos e som
As rotinas a seguir permitem exibir informações na tela. No DOS, a tela do PC pode ser colocada em um dos vários modos gráficos.
As rotinas a seguir funcionam em todos os modos de texto e gráficos de pixel.
limpar tela | - | limpar a tela |
posição | - | definir linha e coluna do cursor |
get_position | - | retornar linha e coluna do cursor |
modo_gráfico | - | selecione uma nova imagem de pixel ou modo de texto (DOS32) |
video_config | - | parâmetros de retorno do modo atual |
rolagem | - | rolar o texto para cima ou para baixo |
embrulho | - | controle de quebra de linha na borda direita da tela |
cor do texto | - | definir a cor do texto de primeiro plano |
bk_color | - | definir cor de fundo |
paleta | - | mudar a cor para um número de cor (DOS32) |
all_palette | - | mudar a cor para todos os números de cores (DOS32) |
get_all_palette | - | obter os valores da paleta para todas as cores (DOS32) |
read_bitmap | - | ler um arquivo de bitmap (.bmp) e retornar uma paleta e uma sequência 2-d de pixels |
save_bitmap | - | crie um arquivo bitmap (.bmp), com uma paleta e uma sequência 2-d de pixels |
get_active_page | - | retornar a página que está sendo gravada no momento (DOS32) |
set_active_page | - | alterar a página que está sendo gravada no momento (DOS32) |
get_display_page | - | retornar a página que está sendo exibida no momento (DOS32) |
set_display_page | - | mudar a página que está sendo exibida no momento (DOS32) |
som | - | fazer um som no alto-falante do PC (DOS32) |
As seguintes rotinas funcionam em texto nos modos apenas
cursor | - | selecione a forma do cursor |
text_rows | - | definir o número de linhas na tela de texto |
get_screen_char | - | pegue um personagem da tela |
put_screen_char | - | coloque um ou mais personagens na tela |
save_text_image | - | salvar uma região retangular de uma tela de texto |
display_text_image | - | exibir uma imagem na tela de texto |
As seguintes rotinas funcionam em modos gráficos de pixel apenas (DOS32)
pixel | - | definir a cor de um pixel ou conjunto de pixels |
get_pixel | - | ler a cor de um pixel ou conjunto de pixels |
desenhar linha | - | conecte uma série de pontos gráficos com uma linha |
polígono | - | desenhe uma figura de n lados |
elipse | - | desenhe uma elipse ou círculo |
save_screen | - | salvar a tela em um arquivo bitmap (.bmp) |
salvar imagem | - | salvar uma região retangular de uma tela de gráficos de pixel |
display_image | - | exibir uma imagem na tela de gráficos de pixel |
Multitarefa
task_clock_start | - | reinicie o relógio do programador |
task_clock_stop | - | pare o relógio do planejador |
task_create | - | crie uma nova tarefa |
lista de tarefas | - | obter uma lista de todas as tarefas |
task_schedule | - | agendar uma tarefa para execução |
task_self | - | retorna o id da tarefa da tarefa atual |
task_status | - | o status atual (ativo, suspenso, encerrado) de uma tarefa |
task_suspend | - | Suspenda uma tarefa. |
task_yield | - | Controle de rendimento, para que o planejador possa escolher uma nova tarefa para executar. |