- 1 名前:おっす [03/09/18 19:29]
- なんとなくEmacs 触り始めて、なんとなくelispにも手を出して
しまったアナタ。 なんとなく書いてしまったコードをココに書き込んで叩かれましょう。 タタカレテツヨクナレ。 年季の入った玄人衆は、もしアドバイスできたらお願いします。 いや、叩きついでにでも。 とりあえず入門書は ttp://www.netfort.gr.jp/~kiyoka/emacs_setq/emacs_setq.html ttp://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp.html リファレンスマニュアルは(ちと古い) ttp://www.fan.gr.jp/~ring/doc/elisp-manual/elisp.html とか、新しいのは(でも英語) ttp://www.delorie.com/gnu/docs/elisp-manual-21/elisp.html ではひとつ、コード中心の熱いバトルをよろぴく。
- 787 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 13:39:20 ]
- >>785
単に (set-fill-column 40) (auto-fill-mode t) って話? >>786 みたいな問題もあるし 仕様を見直した方がいい気がする。
- 788 名前:ゼウス [2006/04/03(月) 13:19:19 ]
-
おい、お前等
- 789 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/12(水) 01:27:25 ]
- CやC++ファイルの編集での普通(gnuのモード)のインデントで、
字下げが少ない時はスペースでインデントしてくれるんですが、 tab幅以上の字下げの時にtabでインデントしてしまい困ってます。 これをスペースでインデントするようにするにはどうしたら良いでしょうか。
- 790 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/12(水) 02:11:47 ]
- (set-variable 'indent-tabs-mode nil)
(setq-default indent-tabs-mode nil) …10年以上使ってるけどこれでいいかな
- 791 名前:名無しさん@お腹いっぱい。 [2006/04/12(水) 08:06:40 ]
- eshell 上で mysql の返答 (standard output) がしっかり
表示されるようにするにはどうソースを修正したらいいか教えろ お前等ならわかるだろ
- 792 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 04:06:36 ]
- やっぱわかんねーのか。。。
eshell のソースはかなり複雑だから仕方ねーのかもな
- 793 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 08:33:53 ]
- わかるだろうけどおまえのためにわざわざ調べる気にはならんってだけ。
- 794 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 08:48:40 ]
- >>793
お前自分の言ってる事矛盾してる 知ってんだったら調べる必要ないだろが
- 795 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 09:05:09 ]
- 調べればわかるんだろ
- 796 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/11(木) 11:34:11 ]
- 各種*.confみたいな
項目: 要素 的設定ファイルを読み込んでalistに溜め込んで行くようなのを考えてるんですが なかなかすっきりしません。 一項目一要素でとりあえずいいんですが、 やっぱりなにかしらのバッファで開いてbuffer-substringしていくしかないんでしょうか。
- 797 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/11(木) 23:30:31 ]
- しかないっつーかEmacsのファイル入力はバッファで開くのが普通なんだが。
- 798 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/11(木) 23:33:22 ]
- バッファで開かないでファイルをlispでストリームとして扱う方法ってあるの?
数百メガの巨大ファイルをいじるとき便利っぽいけど。
- 799 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/12(金) 04:55:14 ]
- tmpなバッファにinsert-file-contents。
find-file-noselectするよりは処理が軽いそうな
- 800 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/12(金) 05:10:22 ]
- >>798
Common Lisp な xyzzy ならできるが、Emacs は不可能。
- 801 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/12(金) 08:14:54 ]
- xyzzy は Common Lisp じゃない。cl ですら実装されてるのに
(mapcar (lambda (x) (typecase x (integer "整数") (string "文字列") (t "その他"))) '(10 3.3 "ほげ")) こんなのが動かないし。
- 802 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/13(土) 20:51:42 ]
- >>801
それだけ?他にもあるでしょ。おせーて。
- 803 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/14(日) 11:40:22 ]
- -batch
で別個に動かすのはどうでしょう?
- 804 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/14(日) 14:05:01 ]
- >>798
insert-file-contents系で分けて読むとか、catあたりをstart-processしてfilterで読むとか。 テキストの場合マルチバイト文字の切れ目の処理が必要になるとちょっといやらしいかも
- 805 名前:名無しさん@お腹いっぱい。 [2006/06/24(土) 12:07:52 ]
- >>801
適当だけど。 (defmacro?typecase?(check?&rest?type-list) ??(let?((#1=#:case)) ???????(dolist?(item?(reverse?type-list)?#1#) ?????????(push?(if?(eq?(car?item)?t) ???????????????????`(t?,(cadr?item)) ?????????????????`((subtypep?(type-of?,check) ?????????????????????????????',(car?item)) ?????????????????????????????,(cadr?item))) ???????????????#1#)) ????(cons?'cond?#1#)))
- 806 名前:805 [2006/06/24(土) 12:12:09 ]
- あらら。。もう一回。
(defmacro typecase (check &rest type-list) (let ((#1=#:case)) (dolist (item (reverse type-list) #1#) (push (if (eq (car item) t) `(t ,(cadr item)) `((subtypep (type-of ,check) ',(car item)) ,(cadr item))) #1#)) (cons 'cond #1#)))
- 807 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/30(水) 05:12:50 ]
- 未編集のリードオンリーのバッファ上で、何かあるタイミングで、
recenter すると変更フラグが立つことがある。 という現象に遭遇した人いないですか、とか聞いてみようと思った。 が、recenter の前に、(sit-for 0) を入れたら解決したみたい。
- 808 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/15(日) 22:07:25 ]
- Emacs21とか22とかになると、デフォルトでいろんな機能が
組込まれてしまったので (occurとかgrepとか、検索もパワーアップしたり)、 新しい機能を作る機会が減って、最近このスレッドが寂しいのかなぁ、 などと思ったりした。 まとめサイトや紹介サイトも増えたしね。 ネタが出てくることを願って期待sage。
- 809 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/21(土) 21:51:36 ]
- ちまちまと一年以上かけて作ってきたが、とうとうやる気が無くなったので晒すテスト。
使い方はソース読んでくれ。 ttp://grinocat.googlepages.com/yawn.el
- 810 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/21(土) 23:01:47 ]
- ネ(・∀・)申!
- 811 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/22(日) 04:18:27 ]
- >>809
すげぇ。すげぇよ、あんた。
- 812 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/27(金) 01:00:59 ]
- w3みたいなもの?
動かせない(´;ω;`)
- 813 名前:<sage> [2006/11/06(月) 19:07:50 ]
- この板の趣旨とは、ちょっと内容がずれてますが、教えて下さい。
shell-command-to-string 関数を使って、perl を呼び出そうとしていますが、 日本語引数を渡すとどこの段階でか分かりませんが、文字がばけます。 (shell-command-to-string "c:/Perl/bin/perl.exe e:/work/0my/scripts/test.pl てすと表示") で、「test.pl」 では、 my $outfile = "e:/work/0my/scripts/test.txt"; my $out; open ($out, "> $outfile") || die ("couldn't open $outfile to write into."); print ($out $ARGV [0]); close($out); で、"test.txt" を shift_jis とかで開いても化けています。 DOS 上で日本語引数は、問題なく処理されるので、Elisp から、 perl に渡されるときに壊れると解釈していますが、どうすればいいのでしょう?
- 814 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/06(月) 21:51:47 ]
- >>813
> perl に渡されるときに壊れると解釈していますが、どうすればいいのでしょう? 表の後に\を付ける、とか?
- 815 名前:sage [2006/11/07(火) 00:20:27 ]
- >>814
レスサンクス。 表のあとに\マークってことは、「てすと表\示」って感じにですか? 日本語文字は何を入れてもだめなので、それでもだめだと思います。 気になるのは、エンコーディングがどうやって認識されるかです。 elisp -> shell -> perl と引数として指定された文字列が渡されると思いますが、 このプログラム間のエンコードは、どうやって指定するのかが、よく分かりません。 おそらく日本語 OS 下では、デフォルトが shift_jis になると思いますが、 これは、elisp からシェルの間も同じかな?
- 816 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/07(火) 00:31:14 ]
- process-coding-system とか coding-system-for-write とか?
- 817 名前:名無しさん@お腹いっぱい。 [2006/11/07(火) 00:45:40 ]
- >>816 さんありがとう
(setq coding-system-for-write 'sjis) でうまくいきました。m(_ _)m
- 818 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/07(火) 00:48:11 ]
- >>817
letで束縛 ttp://www.fan.gr.jp/~ring/doc/elisp_20/elisp_33.html#SEC542
- 819 名前:名無しさん@お腹いっぱい。 mailto: [2006/11/07(火) 01:04:52 ]
- >>818
この変数に対して値をグローバルに設定すべきではないということですね。 了解、let を使います。
- 820 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/13(水) 14:58:06 ]
- emacs上でschemeの勉強しているんですが、
emacsのコメント行のインデントのしかたが気に入らないので 直したいと思っているのですが、 どこから始めたらいいのか、 さっぱり分かりません。 とりあえず scheme-modeが定義されている場所の調べ方を教えていただけませんか?
- 821 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/13(水) 15:38:18 ]
- >>820
> scheme-modeが定義されている場所の調べ方を教えていただけませんか? find-function > emacsのコメント行のインデントのしかたが気に入らないので 確かに comment-dwin は腐ってるからな
- 822 名前:名無しさん@お腹いっぱい。 [2006/12/14(木) 22:57:50 ]
- >>820
つ Gauche
- 823 名前:名無しさん@お腹いっぱい。 [2007/01/14(日) 02:16:27 ]
- 初歩的な質問で聞き難いのですが教えて下さい。
バッファ中の文章の特定の文字を置き換えるようなコードを 作りたいのですが、condを使うのかifとprognを使うのかよく分かりません。 たとえば、文章中の”Red Hat”なら”赤帽”、”Vine”なら”葡萄”、”Windows”なら ”窓”というようにバッファ中の文章を変えたいです。
- 824 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 02:19:30 ]
- >>823
replace-stringじゃだめなん?
- 825 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 02:26:41 ]
- 複数の文字列を一括して置換とかかな
- 826 名前:名無しさん@お腹いっぱい。 [2007/01/14(日) 02:33:07 ]
- >>824
検索関数(search-forward)などでマッチした文字列を replace-matchなどで変えようと思ったのですが、条件分岐が よくわからなくて・・・ >>825 たぶん、そんな感じです。
- 827 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 02:36:59 ]
- まずは仕様をきっちり決めれ。
「たぶん、そんな感じ」じゃなんだかわからん。
- 828 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 02:42:02 ]
- 基本事項なんだぜ?
(info "(elisp)Conditionals") (info "(elisp)Combining Conditions")
- 829 名前:名無しさん@お腹いっぱい。 [2007/01/14(日) 02:49:31 ]
- ありがとうございます。もう少し読んでみます。
- 830 名前:823 mailto:sage [2007/01/14(日) 03:25:03 ]
- レス下さった方々、どうもありがとうございました。
非常に無駄な処理をしていますが、望む結果が得られました。 (defun change-font () (interactive) (let ((p (point))) (goto-char (point-min)) (while (not (eobp)) (if (search-forward "Led Hat" nil t) (replace-match "赤帽") (forward-line 1))) (goto-char (point-min)) (while (not (eobp)) (if (search-forward "Vine" nil t) (replace-match "葡萄") (forward-line 1))) (goto-char (point-min)) (while (not (eobp)) (if (search-forward "Windows" nil t) (replace-match "窓") (forward-line 1))) (goto-char p))) 過去ログ読んで勉強してきます。
- 831 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 05:53:52 ]
- 一行に2回出てきたらだめじゃね?
- 832 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 11:47:06 ]
- 検索語を \\| で分けて match-string で抜き出し cond で振り分けろ
- 833 名前:823 mailto:sage [2007/01/14(日) 13:38:34 ]
- >>831
いえ、ちゃんと置き換えてくれました。 >>832 ご教授ありがとうございます。しばらくにらめっこします。
- 834 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 14:59:07 ]
- 教授じゃなくて教示
- 835 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/15(月) 00:23:16 ]
- > >>833
> > 一行に2回出てきたらだめじゃね? >>831 > いえ、ちゃんと置き換えてくれました。 ホントに? 試していないけど VineVine とかいう行があったらダメっぽく見える。
- 836 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/15(月) 01:09:45 ]
- `XWindows' も `X窓' になりそうだし、`divine' も `di葡萄' になりそう。
(後者は `case-fold-search' の値によるけど)
- 837 名前:823 mailto:sage [2007/01/15(月) 19:50:39 ]
- >>835
>>836 ご指摘ありがとうございます。例外処理(?)を考えていませんでした。 まだ>>832さんの方法で出来ていないしどんだけバカなんだろ私・・・
- 838 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 06:46:15 ]
- 自分で頑張れてるのだから、頭が悪いとは思わないけどな。
やりつけないことは何でも最初は大変だ。 >>832, >>836とも正規表現が必要だし。 まず>>830の改善点としては(forward-line 1)、これは置換が終わったら次へ進む ってことで入れたのだろうけど、次の行じゃなくて置換したテキストの直後に 移動すれば十分な筈。ところがreplace-match自身が Leave point at the end of the replacement text. という動作をしてくれる。 >>836は、正規表現を使うと「単語の先頭」という位置にだけ合うパターンが 使えるのでそれを使う。必要なら同様に「単語の末尾」というのも使える。 正規表現による検索はre-search-forward. ここまでで一応、要求は満たされるんじゃないのかな。 >>832は正規表現を使うと「AまたはBまたはC」にマッチするパターンというのが 書ける。それで検索して、その後でそれがAだったかBだったかCだったかを調べ、 対応する文字列(A'なりB'なりC'なり)に置換するという方法。 これだとバッファの先頭から検索を始めるのが一回で済む。
- 839 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 08:06:14 ]
- save-excursion も教えたれよ。
- 840 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 10:05:53 ]
- replace-regexp を使う。
- 841 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 11:37:35 ]
- >>840
This function is usually the wrong thing to use in a Lisp program.
- 842 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 12:59:54 ]
- (defun foo (alist)
(let ((regexp (regexp-opt (mapcar #'car alist) 'words)) (table (make-hash-table :test 'equal)) (normalize (if case-fold-search #'downcase #'identity))) (dolist (pair alist) (puthash (funcall normalize (car pair)) (cdr pair) table)) (save-excursion (while (re-search-forward regexp nil t) (let ((new (gethash (funcall normalize (match-string 0)) table))) (replace-match new))))))
- 843 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 15:22:17 ]
- ほとんどの漢字も普通にword syntaxだから全然だめだな
- 844 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 16:47:50 ]
- 俺、elispでハッシュとか使ったことねーや
- 845 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 00:50:09 ]
- オレも make-hash-table ってのははじめてみたけど、
elispのハッシュってのはcdr要素数1のalistと解釈して、だいたいおk?
- 846 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 01:15:55 ]
- 論理的にはOKだけど、計算量がぜんぜん違うよ?
何かアルゴリズムの入門書を読んだほうがよさげ
- 847 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 02:15:15 ]
- 最近知ったんだけど、バイトコンパイルした結果って
直接実行もできるんだね。 (defun fn(x) (* x 2)) (byte-compile 'fn) #[(x) "\211\\\301\\\207" [x 0] 2] (#[(x) "\211\\\301\\\207" [x 0] 2] 10) 20
- 848 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 05:48:58 ]
- ワロタ
つくづくエディタなんだな
- 849 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 06:23:03 ]
- つまらん
- 850 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 14:28:00 ]
- お前等の中にシリコンバレーで働いてる人いる?
- 851 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 23:10:28 ]
- emacsで文字のフォントの大きさを変えるにはどうしたらよいですか?
- 852 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 23:41:26 ]
- もしemacs lispがstatic scopeだったら果たしてどうだったろうか
- 853 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/21(日) 00:40:22 ]
- >>851
fontset
- 854 名前:名無しさん@お腹いっぱい。 [2007/03/28(水) 18:57:13 ]
- (゚Д゚≡゚д゚)
- 855 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/29(木) 01:39:37 ]
- >>854
うちの .Xdefault には, 未だに > Emacs.Font: fontset-12 bold > Emacs.Fontset-0: -shinonome-gothic-bold-r-*-*-12-*-*-*-*-*-fontset-12 bold > Emacs.Fontset-2: -shinonome-gothic-bold-r-*-*-14-*-*-*-*-*-fontset-14 bold ... > Emacs.Fontset-11: -shinonome-gothic-medium-r-*-*-24-*-*-*-*-*-fontset-24 medium てなものが残ってて機能しているが...
- 856 名前:名無しさん@お腹いっぱい。 [2007/04/12(木) 10:48:03 ]
- emacs ilspでwebプログラミング可能?
- 857 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 11:29:20 ]
- >>856
「webプログラミング」っていうとどの辺の話?
- 858 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 11:45:50 ]
- ttp://www1.odn.ne.jp/ymtz/tips.html#wwwsvr
こういうことだったりして
- 859 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 11:57:35 ]
- AllegroServe とかそういう話かなぁ。
elisp じゃないけど。
- 860 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 13:32:42 ]
- elservなんてのがあったなー。
もっとまともなのも多分あるだろうけど興味無いので知らない。
- 861 名前:名無しさん@お腹いっぱい。 [2007/04/12(木) 15:16:27 ]
- emacsがwebサーバーになるのですね。もはやなんでもありですね。
elispはphpで作成するのと同様のwebプログラミングは可能でしょうか? 掲示板とか、アンケートなど。
- 862 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 15:18:15 ]
- >>861
アクセスのたびに Emacs 呼ぶってこと? まぁ不可能じゃないんじゃね。 やる気は起きないけど。 >>859 じゃだめなん?
- 863 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 04:31:21 ]
- 単純にphpスクリプトを書けるか?と聞けば
遊ばれずに済んだであろう>>861
- 864 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 09:45:15 ]
- そういう質問じゃないっしょ。
- 865 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 15:06:43 ]
- >>861
もちろん同様のことは可能。もちろん同様にはできないけどな。
- 866 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 16:17:55 ]
- 定期的に M-x hoge を実行するにはどうしたら良いのですか?
答えが駄目なら、誰かヒントだけでも教えてくれないでしょうか。
- 867 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 17:55:49 ]
- timer
- 868 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 01:21:02 ]
- 23
という数値を16進数数値として扱い、 "35"にする方法はどんなのがあるでしょうか? (let ((n 23)) (format "%d" (string-to-number (number-to-string n) 16))) これは思いつきましたが、もちょっと簡単にならんかな、と。
- 869 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 06:39:30 ]
- じゅうぶんかんたんだとおもう
- 870 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 10:48:34 ]
- >>868
#x23
- 871 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 11:08:26 ]
- >>868
なんで元が数値なんだろ。 3a とかの入力は考えなくていいの?
- 872 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 20:18:46 ]
- >>870
(read (concat "#x" n)) か。なんかびみょーに感じる。この表記がいけるのってemacs21以降あたり?
- 873 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/16(水) 00:01:09 ]
- 数値を concat できたのか…
- 874 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/16(水) 00:22:21 ]
- ごめん。emacs21からはムリなはず。
- 875 名前:866 mailto:sage [2007/05/20(日) 00:46:22 ]
- 駄目だ分からない。
run-at-time 使おうにも hoge をどう指定したら良いのか不明……lisp は難しい orz 例えば、.emacs にどう書けば、自動で M-x hoge できますか? ; emacs の引数から起動するのではなくて。 あとは、start-process と while と sleep-for 辺りを組み合わせれば可能な気はするんだけど……さっぱり orz 週末に数時間しか PC に触れられないのは、現代社会をは思えない環境 orz
- 876 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 00:52:00 ]
- run-with-timer 使うんじゃないの?
何がわからないのかがよくわからない
- 877 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 00:53:00 ]
- もしかして M-x から指定してるものが関数名だってことを知らないとか?
- 878 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 03:58:00 ]
- (setq hoge-timer (run-with-timer 0 1 'hoge))
(defun hoge () (interactive) (message (current-time-string))) (defun hoge-cancel () (interactive) (cancel-timer hoge-timer)) M-x hoge =>Sun May 20 03:56:18 2007
- 879 名前:lispp? [2007/05/20(日) 14:40:44 ]
- LISPを学習して1週間目の者ですが、
(progn (setq wara 10) (setq waru 0) (/ wara waru) ) でエラーが発生します。 (if (equal waru 0)...)でなくて、catch??? throw???のような例外処理で対応したいのですが、 可能でしょうか?
- 880 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 14:50:53 ]
- >>879
shakosv.sk.tsukuba.ac.jp/ShakoDoc/Editors/NEmacs/elisp-jman/html/eljman_104.html
- 881 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 17:00:06 ]
- >>879
condition-case elisp.infoのControl Structuresを参照。 Lispではcatch/throwの例外処理とsignal/condition-caseのエラー処理は別物 である点に留意されたし。
- 882 名前:名無しさん@お腹いっぱい。 [2007/05/20(日) 17:12:06 ]
- xyzzy使っているのですが、 condition-caseで関数がないと表示されます。
- 883 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 17:17:31 ]
- 板違い
- 884 名前:名無しさん@お腹いっぱい。 [2007/05/28(月) 20:48:43 ]
- EmacsでのLispのプログラムについての質問です。
リストAとして((a b c) (d e f) (g h i))というリストがあるとして、このリストの中の要素であるリストの 最後の要素を返す関数を作る場合どうしたらいいでしょうか?
- 885 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 21:33:40 ]
- >>884
各要素の cdr を見ていって、それが nil なものを返せばいいんじゃないの。 そういう話でない?
- 886 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 21:37:09 ]
- >>884
(car (last (car (last '((a b c) (d e f) (g h i))))))
- 887 名前:名無しさん@お腹いっぱい。 [2007/05/28(月) 21:47:12 ]
- 884の補足ですが、
リストAを引数として(c f i)を返すような関数を定義したいのです。 また、リストAの要素がもっと多い場合にも対応できるようにしたいのです。
|

|