LISPのテスト

これでちゃんと出てるんでしょうか。
http://www2.ocn.ne.jp/~cheerful/script/xyzzy/library/text.html より。

これでちゃんと出てるんでしょうか。
http://www2.ocn.ne.jp/~cheerful/script/xyzzy/library/text.html より。

  • タグ:
  • タグはありません
(defun get-protocol-string (URI)
(let (from end protocol server port)
(setq from (string-match "^[^:/]+" URI))
(setq end (match-end 0) )
(when (and from end)
(setq protocol (substring URI from end ))
(setq URI (substring URI (1+ end)))
)
(setq from (string-match "[^:/]+" URI))
(setq end (match-end 0))
(when (and from end)
(setq server (substring URI from end ))
(if (string-match "\\." server)
(setq URI (substring URI end))
(setq server nil))
)
(setq from (string-match "[0-9]+/" URI))
(setq end (match-end 0))
(when (and from end)
(setq port (substring URI 1 (1- end)))
(setq URI (substring URI (1- end)))
)
;(insert "protocol :[" protocol "]\n")
;(insert "server :[" server "]\n")
;(insert "port :[" port "]\n")
;(insert "target :[" URI "]\n")
(values protocol server port URI)
)
)
;for test
(get-protocol-string "http://www2.ocn.ne.jp/~cheerful/script/index.html")
(get-protocol-string "//http://www2.ocn.ne.jp/~cheerful/script/")
(get-protocol-string "/~start/index.html")
(get-protocol-string "/start/jkdjkaj/jkjdfjindex.html")
(get-protocol-string "http://www2.ocn.ne.jp/~cheerful:80/~start/index.html")
(get-protocol-string "//http://www2.ocn.ne.jp/~cheerful:80/~start/index.html")
;usage
(multiple-value-setq (protocol server port file) (get-protocol-string "http://www2.ocn.ne.jp/~cheerful/~start"))
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX