CLISP

2012-05-07 2 views
-1
내가 중위, 후위, 접두사 사이에 변환하는 프로그램을 만들려고하고 CLISP을 사용하고 있는데

CLISP

(if (= (first '(+ 2 3)) +) 10 20) //10 and 20 are just placeholders 

을 시도하고

. 나는 나의 첫 걸음이 +, -, *, 그리고/또는 그 끈에있는 기호를 찾아야한다고 생각한다. 입력에는 괄호가 없습니다. 그래서, 각 기호를 체계적으로 검색하려고합니다. 내 접근법의 장점은 * 이상 + 우선 순위를 부여하는 능력입니다.

나는 내 접근 방식의 일반적인 생각을 가지고 있지만, 어떤 생각이 좋을 것입니다. 내 첫번째 생각은 :

(append (rest '(+ 2 3)) (list (first '(+ 2 3)))) 

그래, 내가 재귀를 사용하여 계획.

+1

나는 내 자신의 질문을 해결했습니다. "="대신 "eq"를 사용하면 도움이됩니다. –

+3

대답을 게시하고 승인 된 것으로 표시하는 것이 좋습니다. –

답변

관련 문제