라켓은 (+ 2 + 3i 4) 과 같이 2 + 3i와 같은 형식의 복소수를 읽을 수 있으며 6 + 3i를 반환합니다. 내 목표는 동일한 방식으로 사용자가 쿼터니언을 만들 수 있도록 허용하는 것입니다. 따라서 (+ 1 + 2i + 3j + 4k 3 + 4i + 2j + 1k) 은 "정의되지 않은 식별자"오류를 발생시키지 않습니다. 쿼터니언은 내가 특별히 구현하려고 시도한 것이지만, 이것은 라켓 리더가 숫자를 분석하는 방법을 변경하는 방법에 대한보다 일반적인 질문입니다. this page의 1.3.3 절은 BNF의 숫자 문법에 대해 개괄적으로 설명하며 변경하고자하는 부분입니다 (특히 정확한/부정확 한 복합체). 독자가 이러한 형식으로 작성된 쿼터니언을 인식하도록하는 가장 좋은 방법은 무엇입니까?라 케트에서 복소수와 같은 쿼터니언을 읽음
0
A
답변
0
Little Schemer와 The Seductive Computer는 유용한 읽기입니다. 내 개인 의견은 REPL에 과부하가 될 것입니다.
0
이것은 라켓 메일 링리스트 인 http://lists.racket-lang.org/users/에 대한 더 나은 대답을 얻는 질문입니다. 당신은 당신 자신의 독자를 정의 할 수있다. 그러나 문제는 기존의 독자 프레임 워크가 얼마나 확장 가능한지, 모듈 방식으로 BNF에 추가 할 수 있는지 여부이다. 제 추측으로는 꽤 많은 코드를 복제해야 겠지만 확실히 가능합니다.
관련 문제
- 1. 복소수와 루프
- 2. 쿼터니언을 받아들이 기 위해 라켓에서 구문 재정의
- 3. 윤곽 그리기 복소수와 접합체
- 4. 쿼터니언을 사용하여 객체 회전
- 5. 쿼터니언을 사용한 비선형 slerp 애니메이션
- 6. 쿼터니언을 두 벡터 사이에서 회전시키기
- 7. Tablelow를 부풀려 라
- 8. 번역 예외 라
- 9. db와 테이블에서 행을 삭제하지만 같은 페이지에 머물러 라. Laravel
- 10. OpenLayers 층 라 Google지도하여 ImageMapType
- 11. 번역 예외는 라 도서관을 병렬
- 12. 쿼터니언을 사용하여 회전 보간시 뒤집기 문제
- 13. (Java) 쿼터니언을 라디안 (또는도)으로 변환 하시겠습니까?
- 14. 안드로이드 딕셔너리 항상 비어있어 라
- 15. matlab에서 비선형 방정식을 풀어 라
- 16. 카사ンド 라 쿼리 최적화
- 17. fwidth() 테그 라 3 GLSL
- 18. 쿼터니언을 사용하여 구 주위의 제어 객체
- 19. 쿼터니언을 사용한 3 인칭 카메라 위치 계산
- 20. Three.js 쿼터니언을 사용하여 카메라를 회전하는 방법
- 21. 총알 물리학 쿼터니언을 CATransform3DMakeRotation에서 사용할 각도로 변환
- 22. glm을 사용하여 쿼터니언을 따라 카메라 번역
- 23. 쿼터니언을 사용하여 GLM 행렬의 회전 방향
- 24. plist에서 읽음
- 25. ms 액세스에서 스. 라 UDF 함수 호출
- 26. 복소수와 정수의 혼합 된 컬렉션을 저장하는 가장 효율적인 방법
- 27. 다이내믹 인스턴트 테마 라 야후/iGoogle
- 28. 모나드 계산에서 주문 제약 조건을 풀어 라
- 29. 쉬지 않고 쉬어 라 JQUERY 404
- 30. 바이트를 읽음