Próximo: , Anterior:   [Conteúdo][Índice]

34, Ambiente em Tempo de Execução


34.1, Introdução a Ambiente em Tempo de Execução

maxima-init.mac é um ficheiro que é chamado automaticamente quando o Maxima inicia. Pode usar maxima-init.mac para personalizar o seu ambiente no Maxima. maxima-init.mac, se existir, é tipicamente colocado no directório chamado por maxima_userdir, embora possa estar em qualquer outro directório procurado pela função file_search.

Aqui está um exemplo do ficheiro maxima-init.mac:

setup_autoload ("specfun.mac", ultraspherical, assoc_legendre_p);
showtime:all;

Nesse Exemplo, setup_autoload diz ao Maxima para chamar o ficheiro especificado (specfun.mac) se qualquer das funções (ultraspherical, assoc_legendre_p) forem chamadas sem estarem definidas. Dessa forma, não precisa de se lembrar de chamar o ficheiro antes das funções.

A declaração showtime: all diz ao Maxima para activar a opção showtime. O ficheiro maxima-init.mac pode conter quaisquer outras atribuições ou outras declarações do Maxima.


34.2, Interrupções

O utilizador pode parar uma computação que consome muito tempo com o caractere ^C (control-C). A ação padrão é parar a computação e mostrar outra linha de comando do utilizador. Nesse caso, não é possível continuar a computação interrompida.

Se a variável *debugger-hook* é escolhida para nil, através do comando

:lisp (setq *debugger-hook* nil)

então na ocasião do recebimento do ^C, Maxima iniciará o depurador Lisp, e o utilizador pode usar o depurador para inspecionar o ambiente Lisp. A computação interrompida pode ser retomada através do comando continue no depurador Lisp. O método de retorno para ao Maxima partindo do depurador Lisp (outro como executando a computação para complementação) é diferente para cada versão do Lisp.

Em sistemas Unix, o caratere ^Z (control-Z) faz com que Maxima pare tudo e aguarde em segundo plano, e o controle é retornado para a linha de comando do shell. O comando fg faz com que o Maxima retorne ao primeiro plano e continue a partir do ponto no qual foi interrompido.


34.3, Definições para Ambiente em Tempo de Execução

Declaração: feature

Maxima compreende dois tipos distintos de recurso, recursos do sistema e recursos aplicados a expressões matemáticas. Veja Também status para informações sobre recursos do sistema. Veja Também features e featurep para informações sobre recursos matemáticos.

feature por si mesmo não é o nome de uma função ou variável.

Função: featurep (a, f)

Tenta determinar se o objecto a tem o recurso f na base dos factos dentro base de dados corrente. Se possue, é retornado true, de outra forma é retornado false.

Note que featurep retorna false quando nem f nem a negação de f puderem ser estabelecidas.

featurep avalia seus argumentos.

Veja também declare e features.

(%i1) declare (j, even)$
(%i2) featurep (j, integer);
(%o2)                           true
Variável de sistema: maxima_tempdir

maxima_tempdir nomeia o directório no qual Maxima cria alguns ficheiros temporários. Em particular, ficheiros temporários para impressão são criados no maxima_tempdir.

O valor inicial de maxima_tempdir é o directório do utilizador, se o maxima puder localizá-lo; de outra forma Maxima supõe um directório adequado.

A maxima_tempdir pode ser atribuído uma sequência de caracteres que corresponde a um directório.

Variável de sistema: maxima_userdir

maxima_userdir nomeia um directório no qual Maxima espera encontrar seus próprios ficheiros e os do ficheiros do Lisp. (Maxima procura em alguns outros directórios também; file_search_maxima e file_search_lisp possuem a lista completa.)

O valor inicial de maxima_userdir é um subdirectório do directório do utilizador, se Maxima puder localizá-lo; de outra forma Maxima supõe um directório adequado.

A maxima_userdir pode ser atribuído uma sequência de caracteres que corresponde a um directório. Todavia, fazendo uma atribuição a maxima_userdir não muda automaticamente o valor de file_search_maxima e de file_search_lisp; Essas variáveis devem ser modificadas separadamente.

Função: room ()
Função: room (true)
Função: room (false)

Mostra uma descrição do estado de armazenamento e gerenciamento de pilha no Maxima. room chama a função Lisp de mesmo nome.

  • room () mostra uma descrição moderada.
  • room (true) mostra uma descrição detalhada.
  • room (false) mostra uma descrição resumida.
Função: status (feature)
Função: status (feature, recurso_ativo)
Função: status (status)

Retorna informações sobre a presença ou ausência de certos recursos dependentes do sistema operacional.

  • status (feature) retorna uma lista dos recursos do sistema. Inclui a versão do Lisp, tipo de sistema operacional, etc. A lista pode variar de um tipo de Lisp para outro.
  • status (feature, recurso_ativo) retorna true se recurso_ativo está na lista de ítens retornada através de status (feature) e false de outra forma. status não avalia o argumento recurso_ativo. O operador apóstrofo-apóstrofo, '', evita a avaliação. Um recurso cujo nome contém um caractere especial, tal como um hífem, deve ser fornecido como um argumento em forma de sequência de caracteres. Por Exemplo, status (feature, "ansi-cl").
  • status (status) retorna uma lista de dois elementos [feature, status]. feature e status são dois argumentos aceitos pela função status; Não está claro se essa lista tem significância adicional.

A variável features contém uma lista de recursos que se aplicam a expressões matemáticas. Veja features e featurep para maiores informações.

Função: time (%o1, %o2, %o3, ...)

Retorna uma lista de tempos, em segundos, usados para calcular as linhas de saída %o1, %o2, %o3, .... O tempo retornado é uma estimativa do Maxima do tempo interno de computação, não do tempo decorrido. time pode somente ser aplicado a variáveis(rótulos) de saída de linha; para quaisquer outras variáveis, time retorna unknown (tempo desconhecido).

Escolha showtime: true para fazer com que Maxima moste o tempo de computação e o tempo decorrido a cada linha de saída.

Função: timedate ()

Retorna uma sequência de caracteres representando a data e hora atuais. A sequência de caracteres tem o formato HH:MM:SS Dia, mm/dd/aaaa (GMT-n), Onde os campos são horas, minutos, segundos, dia da semana, mês, dia do mês, ano, e horas que diferem da hora GMT.

O valor de retorno é uma sequência de caracteres Lisp.

Exemplo:

(%i1) d: timedate ();
(%o1) 08:05:09 Wed, 11/02/2005 (GMT-7)
(%i2) print ("timedate mostra o tempo actual", d)$
timedate reports current time 08:05:09 Wed, 11/02/2005 (GMT-7)

Próximo: , Anterior:   [Conteúdo][Índice]