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.