(defun show-price () (let ((call-with-input-file #'(lambda (filename proc) (with-temp-buffer (progn (insert-file-contents filename) (funcall proc (current-buffer)))))) (call-with-name&cost #'(lambda (alist proc) (funcall proc (cdr (assq 'item-name alist)) (cdr (assq 'item-cost alist))))) (call-with-add-tax #'(lambda (rate base proc) (funcall proc (/ (* base (+ rate 100)) 100))))) (funcall call-with-input-file (expand-file-name "ShowPrice.ini") #'(lambda (in) (funcall call-with-name&cost (read in) #'(lambda (name cost) (funcall call-with-add-tax 5 cost #'(lambda (cost) (format "「%s」は%d円(税込み)" name cost)))))))))