Mathematica 표현식 을 무손실로 문자열로 변환하는 적절한 방법은 무엇입니까 (메모리에 보관 된 문자열이 파일로 내보내지지 않음)?Mathematica 표현식을 텍스트 형식으로 유지
나는
- 이 같은
SparseArray
,Graph
,Dispatch
,CompiledFunction
특수 (그리고 아마도 원자) 객체를 유지 포함한 모든 정보 등이 그대로 보존됩니다 텍스트 표현을 찾고 있습니다. 예 : 이 표현을 통해SparseArray
을 순환시키는 것은 희박한 상태로 유지해야하며 일반 목록으로 변환하지 않아야합니다. - 은 순환이 비교적 빠릅니다 (앞뒤로 변환).
여기에 ToString[expr, FullForm]
이 충분합니까? ToString[expr, InputForm]
는 어떨까요?
참고 1 : 내부 표현이 때때로 손상되는 Graph
의 일부 버그를 해결하려고 시도하는 동안 나타났습니다. 하지만 위의 일반적인 질문에 대한 답변에 관심이 있습니다.
참고 2 : Save
참고 : 2 : Save
은 반드시이 작업을 수행하지만 파일 (스트림을 사용하여이 문제를 해결할 수도 있음)에 쓰고 기호와 관련된 정의 만 씁니다.
나는 당신이하려는 것을 이해하지 못합니다. 표현식을 "저장"하여 나중에 복원 하시겠습니까, 아니면 문자열을 처리 할 예정입니까? –
그냥 저장하고 복원하십시오. 이 특별한 경우에는 https://groups.google.com/d/topic/comp.soft-sys.math.mathematica/RRsfrHCjwRM/discussion과 같은 버그를 해결해야합니다. 레오 니드의 해결책이 아마도 최고입니다. – Szabolcs
그 버그는 나 빠진다. 다른 기호로 저장하는 것이 효과가 있습니까? 'jjHold = jj; IsomorphicGraphQ [jj, ...' –