記事の最後に載せたプログラムのコメントにも書きましたが、ポイントは2つあります。
- 基準日の年と生年の差
- 基準日がその年の誕生日よりも前のときは1を減算する
2015/8/31
NARITA Shoさんから「Excel 界隈では「基準日」という語が使われているみたいですね。」とのコメントを頂きました。ありがとうございました。
以下、xyzzy lispとC#での実装を記載します。
2015/9/2
C#での実装例を追加しました。
(require "bookmark") (use-package "bookmark")
(global-set-key '(#\C-c #\a #\b) 'bookmark-add-current-buffer) (global-set-key '(#\C-c #\l #\b) 'bookmark-list-bookmarks)
; convert-xml (defparameter *conversion-alist* '((#\< . "<") (#\> . ">") (#\& . "&") (#\" . """) (#\' . "'"))) (defun convert-xml () (interactive "*") (let ((input-buffer (window-buffer (selected-window)))) (with-output-to-temp-buffer ("*Converted*") (with-open-stream (s (make-buffer-stream input-buffer)) (loop (let ((c (read-char s nil))) (if c (format t "~A" (convert-char c *conversion-alist*)) (return nil)))))))) (defun convert-char (c alist) (let ((conversion (assoc c alist))) (if conversion (cdr conversion) c)))