Source of Nothingness - -Scrapbook2121121121212.1

* Menu

[[About:self:AboutPage.txt]] | [[Profile:file/southly/]] | [[まとめ:self:1163859357.txt]] | [[オリジナル:http://ninjinix.x0.com/rn/]] | [[xyzzy:lisp/]] | [[あんてな:listall]] | [[■:lisp]] | [[buzz:files/southly#buzz]]

* Scrapbook : WebScheme - Scheme interpreter for web applications

 http://www.yuasa.kuis.kyoto-u.ac.jp/~yhara/webscheme/
ウェブアプリケーションのためのScheme処理系

* Scrapbook : ここにいるだれか - フライパンでパスタ作ってみた

 http://d.hatena.ne.jp/maname/20070407

* Scrapbook : 【イーブックオフ】日本最大級のオンライン中古書店

 off.co.jp/index.jsp

* Scrapbook : 【古本・古書(販売/買取)】本を愛する人の総合サイト・スーパー源氏

 http://sgenji.jp/

* Scrapbook : 日本の古本屋 - 日本最大の古本検索サイト

 http://www.kosho.or.jp/servlet/top

* Scrapbook : B3 OS/Programming

 http://www.csg.is.titech.ac.jp/~chiba/lecture/os/index.html

* lisp : 値渡し?参照渡し?

関数一般についてはこの辺りが参考になります。
Schemeの話ですけど基本的に一緒。

* xyzzy lisp : シャッフル

(defun nswap (l x y)
  (rotatef (car (nthcdr x l)) (car (nthcdr y l)))
  l)

(defun nshuffle (l)
  (do ((i (length l) (1- i)))
      ((>= 1 i))
    (setq l (nswap l (1- i) (random i))))
  l)
元のデータを直接いじっていくほうが分かりやすくないッスか?
ってことでこんな。
nswapは関数にする必要は無いけど意味が分かりやすいように。

* xyzzy lisp : ミニバッファの入力にエスケープシーケンス

interactive指定子を作っちゃえば楽に置き換えられるんじゃね?
ってことで、こんな。
(in-package "editor")
(defun interactive-read-string-with-escape-sequence (prompt default history title)
  (list (decode-escape-sequence (read-string prompt :default default :history history) nil)))
(pushnew '(#\w . interactive-read-string-with-escape-sequence)
	 *interactive-specifier-alist* :test #'equal)
(defun interactive-read-regexp-with-escape-sequence (prompt default history title)
  (list (decode-escape-sequence (read-string prompt :default default :history history) t)))
(pushnew '(#\W . interactive-read-regexp-with-escape-sequence)
	 *interactive-specifier-alist* :test #'equal)

;; こんな感じで使う
;; 文字列
(defun search-forward-wes (pattern &optional noerror)
  (interactive "wSearch forward: "
    :default0 *last-search-string* :history0 'search)
  (search-command pattern nil nil (interactive-p) noerror))
;; 正規表現
(defun re-search-forward-wes (regexp &optional noerror)
  (interactive "WRe-search forward: "
    :default0 *last-search-regexp* :history0 'search)
  (search-command regexp nil t (interactive-p) noerror))
(export '(search-forward-wes re-search-forward-wes))
(in-package "user")

* Scrapbook : 気の利いたscanf -- part 1

 http://homepage1.nifty.com/hujitako/yapt/SmartScanf1.htm
scanf系列の%nとか知らんかった

* xyzzy topic : attribute, M -- Masahiro Ohba's Bryce Gallery