[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/03 02:06 / Filesize : 277 KB / Number-of Response : 955
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【叩かれて】Emacs Lisp道場【強くなれ】



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

ではひとつ、コード中心の熱いバトルをよろぴく。


783 名前:名無しさん@お腹いっぱい。 [2006/03/21(火) 09:49:25 ]
こんなの見つけたお
ttp://www.okisoft.co.jp/esc/lecture/emacslisp.pdf

知識ゼロからのとっかかりにはいいんではないかと思う

784 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/21(火) 13:12:22 ]
ほかにも「やさしい Lisp の作り方」とかあるね
ttp://www.okisoft.co.jp/esc/whitepaper.html
あと、これは一部で有名だけど「美人プログラミングスタイル」とか

785 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 10:55:02 ]

以下の機能をmajar-modeに実装する方法でつまづいています。

「一行につき全角文字20文字まで、それを越えたら自動的に折り返して次の行へ」

行幅を全角20文字で整形したいだけなのですが・・・

truncate**系 とか fill-** 系とかの変数をうまく使えばいいのだろうかと試行錯誤しているのですが、錯誤ばかりで自滅気味です。わたしアタマワルイ。

だれか助けてー。

786 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 13:19:47 ]
>>785
先に決め事が必要になる。

(1) 半角文字の扱い
(2) 空白文字の処理
(3) 禁則処理(行頭、行末)

まともにやると、かなりめんどい。

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 ]
板違い






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<277KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef