私は初めてで、ステートメントelisp
を使用して簡単なプログラムを作成しようとしています。if
要点は、学年を読み取り、文字列、、に対して1
、2
、3
、、4
またはいずれかを返すことです (一致しない場合のデフォルトは次のとおりです。私のコードは次のとおりです。0
"freshman"
"sophomore"
"junior"
"senior"
0
(defun yearCode(name)
(if ( = name "freshman") 1
(if ( = name "sophomore") 2
(if ( = name "junior") 3
(if ( = name "senior") 4
(0))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; main function ;;;
;;; input: year ;;;
;;; output: code corresponding to year ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun main (year)
(interactive "sEnter your academic year: ") ; read year
(message "%d" (yearCode year))) ; display its code
;;; Tests...
(main "junior")
(yearCode "junior")
私は正直なところ、elisp について何も知らないので、最初の部分をコンパイルしても問題が発生しています。if
ステートメントを正しく作成するのを手伝ってくれる人はいますか?
編集:私は間違ったバッファでテストしていました-_- if ステートメントを使用してコードが機能しました。