-1

CLISPを使用していて、試しています

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

中置、後置、前置を変換するプログラムを作成しようとしています。私の最初のステップは、文字列内の記号+、-、*、および/を見つけることだと思います。入力には括弧はありません。だから、私は体系的に各記号を検索しようとしています。私のアプローチの利点は、+などよりも*を優先できることです。

私は自分のアプローチについて一般的な考えを持っていますが、どんな考えでもいいでしょう。私の最初のアイデアは次のとおりです。

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

はい、再帰を使用する予定です。

4

1 に答える 1

0

もう少しグーグルすると、Common Lispのeq、eql、equal、equalpの違いは何ですか?そこで、「=」の代わりに「eq」を実装することにしました。期待どおりに機能しました。

于 2012-05-09T00:40:10.057 に答える