Podemos eliminar todos los símbolos en un contexto particular usando Remove["context`*"]
. ¿Pero es posible eliminar "context`"
del sistema para que ya no aparezca en Contexts[]
?¿Es posible eliminar "context`" de la lista de Contextos cargados []?
Respuesta
Por lo que puedo decir (una conjetura), un contexto se elimina automáticamente de Contexts[]
una vez que se vacía (no tiene símbolos). Al menos, esto sucede en mis pruebas. Aquí es uno:
In[1]:=
BeginPackage["Test`"]
EndPackage[]
Out[1]= Test`
In[3]:= MemberQ[Contexts[],"Test`"]
Out[3]= False
In[4]:= Test`a
Out[4]= a
In[5]:= MemberQ[Contexts[],"Test`"]
Out[5]= True
In[6]:= Remove["Test`*"]
In[7]:= MemberQ[Contexts[],"Test`"]
Out[7]= False
Esto también puede explicar por qué llamar Contexts[]
toma una fracción considerable de un segundo - el sistema debe verificar para cada contexto de si es o no está vacía. De todos modos, la respuesta a su pregunta parece simple: elimine todos los símbolos y el contexto se eliminará del Contexts[]
. Esto también funciona para contextos cargados por el sistema; puede intentar algunos (XML'
por ejemplo), aunque no hace falta decir que esto no es una buena práctica, por decir lo menos.
Esto no funciona para mí ya que el paquete aún permanece en '$ ContextPath', por ejemplo, 'Needs' no lo volverá a cargar. ¿Alguna idea de por qué? –
@ThomasFankhauser No tengo idea. Pero estaba discutiendo aquí algo más. Haga un pequeño ejemplo autónomo para ilustrar su problema y pregúntele a M.SE: de esta manera tendrá más atención sobre su problema. –
- 1. ¿Es posible tener dos contextos WebGL en la misma página?
- 2. ¿Es posible compartir un objeto opengl framebuffer entre contextos/hilos?
- 3. Lista de módulos node.js cargados actualmente?
- 4. Lista de módulos cargados usando gdb
- 5. ¿Qué es 'Context' en android?
- 6. ¿Es posible eliminar mi aplicación de la aplicación de configuración?
- 7. ¿Es posible ocultar (no eliminar) un PivotItem?
- 8. ¿Es posible eliminar un objeto no nuevo?
- 9. Personalice la interfaz de usuario Mylyn Context?
- 10. ¿Es posible fusionar dos registros utilizando la instrucción "eliminar de"?
- 11. es posible obtener la lista de espacios de nombres definidos
- 12. ¿Es posible eliminar duplicados de una lista ordenada en menos de O (n) tiempo?
- 13. Vim: ¿Es posible la lista de pestañas vertical?
- 14. ¿Es posible un bloqueo (espera) de una lista doblemente vinculada?
- 15. SCSS contextos de variables
- 16. ¿Es posible eliminar OverlappingInstances para esta implementación de lista heterogénea respaldada por DataKinds?
- 17. ¿Es posible eliminar las cookies del subdominio?
- 18. ImageMagick: ¿Es posible eliminar "Crop marks"?
- 19. ¿Cómo hago una lista de todos los conjuntos cargados?
- 20. ¿Es posible eliminar el widget de vista previa de QtolumnView?
- 21. ¿Es posible eliminar el pedido de los criterios de Hibernate?
- 22. CDI - Escritura de contextos y ámbitos personalizados
- 23. ¿Es posible almacenar en caché los recursos cargados en un UIWebView de iPhone?
- 24. En Flot, ¿es posible eliminar u ocultar marcas de cuadrícula sin eliminar la etiqueta correspondiente?
- 25. ¿Cómo obtengo una lista de todos los ensamblajes cargados actualmente?
- 26. ¿Es posible eliminar el objeto en sí, no la referencia
- 27. Python: eliminar el diccionario de la lista
- 28. Mocking Entity Framework Context
- 29. Python: condicionalmente eliminar elementos de la lista
- 30. lo bien eliminar elemento de la lista
Will 'CleanSlate' no hará esto? – tomd
No veo cómo se puede hacer. Si tiene problemas con contextos conflictivos, entonces eliminaría el contexto del '$ ContextPath' para que no me cause más problemas. – jmlopez
@TomD Sí, como ha demostrado Bill Rowe en [su respuesta MathGroup] (http://groups.google.com/group/comp.soft-sys.math.mathematica/msg/de14f4aff3c6e780), '' AppendTo [$ ContextPath , "contexto'"]; CleanSlate ["context'"] '' hará esto (si '' "context'" '' no estaba en el '$ ContextPath' inicial cuando se leyó' CleanSlate.m'). Pero al buscar rápidamente en la descripción de 'CleanSlate' en el archivo' CleanSlate.m', se revela que simplemente purga '' "context'" '' ** junto con todos sus subcontextos ** para que este contexto se elimine automáticamente. –