Pergunta

Quando eu carregado pacote debug para depurar um script com zoo objetos, eu tenho problemas:função index a partir de zoo tem mascarado por debug pacote.Como posso desmascarar index?Em geral, como lidar com estas nome colidindo problemas?Nós apenas não use debug pacote com `zoo'?

Foi útil?

Solução

Símbolos exportados são sempre identificáveis com o :: operador:

zoo::index

Oculto funções não declaradas no espaço de nomes pode ainda ser acedido através de ::: (triple-e-vírgula), e exemplo seria

zoo:::.onLoad

o que você pode ver, mesmo que ele não é exportado.

Outras dicas

Você pode descarregar o pacote que tem mascarado funções e, em seguida, carregá-lo.Ele vai recuperar a precedência no searchpath:

unloadNamespace("zoo")
library("zoo")

No futuro, se você deseja carregar um pacote, enquanto impedindo-a de mascarar outras funções, você pode especificar a sua posição no caminho de pesquisa com um número arbitrariamente grande:

library("debug", pos = .Machine$integer.max)

Sua única mascarado para você, mas não é mascarado para o zoológico por isso, quando um zoológico função tenta usar o index ainda vai encontrar o seu próprio primeiro índice.

o zoo também tem um tempo.zoo método para se z é um zoológico objeto que você pode usar o tempo(z) no lugar de índice(z).

Finalmente, você pode sempre consultar o zoo::índice para se certificar de você chegar a um no zoo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top