のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,818人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    201 : 名無しさん@お腹 - 04/05/12 19:22 (+43,+25,-1)
    書けるよ
    202 : 鬱­猫&s - 04/05/12 21:20 (+13,-14,-31)
    ネット関係のライブラリが標準で用意されているのですか?
    P2P関係のものを何か作りたいのですがtcp/ip層までいじれますか?
    203 : 名無しさん@お腹 - 04/05/12 21:43 (+3,-29,-58)
    リリースされてる版だと、Emacs Lisp からできるのは TCP の connect(2) だけ。
    accept(2) へのインターフェイスは 用意されてないから P2P やりたいなら
    下請けの外部プログラムが必要。
    204 : 名無しさん@お腹 - 04/05/13 00:53 (+3,-30,-154)
    M-x namazu とする代わりに F2 キーでカーソルのある単語を検索できればと思い,
    namazu.el を読んだ上で以下のように設定しました
    しかしこの設定で F2 キーを叩いても,
    別のバッファが開いて「32 件検索しました」 という
    メッセージが出るところまで行くのですが
    検索結果がでません どこを直せばよいのでしょうか
    (global-set-key [(f2)]
      (lambda ()
        (interactive)
        (namazu namazu-search-num namazu-default-dir
              (current-word))) )
    205 : 名無しさん@お腹 - 04/05/13 04:54 (+4,-29,-6)
    namazu の最初の引数は PAGE-NUM みたいなので普通は 0 でしょう。
    206 : 0 - 04/05/14 00:09 (+3,-30,-48)
    >>205 コメントありがとうございます 
    0 を入れてみたのですが改善しませんでした
    出力結果は以下のようにヘッダとフッタだけ出てるようで中身が出ません
    M-x namazu でインタラクティブに実行するのは問題ないのですが。。。

    検索結果
    参考ヒット数: [ BufferedReader: 52 ]

    検索式にマッチする 52 個の文書が見つかりました。

    現在のリスト: 1 - 0
    ペイジ: [1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20]
    207 : 名無しさん@お腹 - 04/05/14 00:35 (+9,-30,-123)
    namazu-search-num が 0 になってない?

    (namazu namazu-search-num namazu-default-dir (current-word))
    で namazu-search-num を 0 にするんじゃなくて、

    (namazu 0 namazu-default-dir (current-word))
    にしたら? ってこと。
    208 : 名無しさん@お腹 - 04/05/14 14:01 (+7,-30,-144)
    読書メモの為に下みたいなのを挿入したいのですけども。

    Date:2004-01-26
    Page:
    Memo:

    で、ムチャクソ頑張って下みたいなのを書きました。

    (defun bookz ()
    "Retune the current time as a string in Date from."
    (format-time-string "Date:%04Y-%02m-%02d\nPage:\nMemo:")
    )
    (defun insert-bookz nil
    "Insert bookz."
    (interactive)
    (insert (bookz))
    )
    (define-key global-map "\C-c\C-d" 'insert-bookz)

    なんかもっと綺麗に書く方法とかありますか?
    209 : 名無しさん@お腹 - 04/05/14 15:39 (+0,-29,-3)
    >>208
    > なんかもっと綺麗に書く方法とかありますか?
    ispellを使う、とか
    210 : 名無しさん@お腹 - 04/05/14 16:34 (+57,+29,+0)
    しかしそれでもfromを見つけられない罠
    211 : 名無しさん@お腹 - 04/05/14 17:04 (-1,-29,-6)
    queequegも利用してみるとか? 試したことないけど。
    212 : 名無しさん@お腹 - 04/05/14 18:41 (+57,+29,-2)
    そのまま翻訳にかけてみるのも手かもな
    213 : 204,206 - 04/05/19 22:32 (+4,-30,-99)
    >>207 コメントありがとうございます
    namazu-search-num が 0 になってない?
    おかげさまで以下のようにしてうまく行きました
    (setq namazu-search-num 20)
    ...
    (namazu 0 namazu-default-dir (current-word))
    てっきりnamazu-search-num と
    namazu の第一引数は同じにするものだと思いこんでいました
    ありがとうございました
    214 : 名無しさん@お腹 - 04/05/26 15:39 (+43,-30,+0)
    (defun display-binaried-file (file)
    (interactive "fFilename: ")
    (with-output-to-temp-buffer "Binary"
    (with-temp-buffer
    (let ((addr 0)
    s)
    (insert-file-literally file)
    (goto-char (point-min))
    (while (re-search-forward "\\=\\(?:.\\|\n\\)\\{1,8\\}" nil t)
    (princ (format "%08X:" addr))
    (setq s (match-string 0)
    addr (+ 8 addr))
    (mapc (lambda (c)
    (princ " ")
    (dotimes (i 8)
    (princ (if (zerop (logand 128 c)) "0" "1"))
    (setq c (lsh c 1))))
    s)
    (princ (format "%s %s\n"
    (make-string (* 9 (- 8 (length s))) ?\040)
    (mapconcat (lambda (c)
    (if (and (<= 32 c) (< c 127))
    (char-to-string c)
    "."))
    s
    nil))))))))
    215 : 名無しさん@お腹 - 04/05/26 15:49 (+62,+29,-3)

    >>214
    あんがとね。
    いやー、あんた最高だよ。
    216 : 名無しさん@お腹 - 04/05/28 20:45 (+15,-30,-186)
    >>214
    イイ!!

    > (mapc (lambda (c)
    > (princ " ")
    > (dotimes (i 8)
    > (princ (if (zerop (logand 128 c)) "0" "1"))
    > (setq c (lsh c 1))))
    > s)

    でもここはdotimesよりそのまんま

    (princ (if (zerop (logand 128 c)) "0" "1"))
    (setq c (lsh c 1))
    (princ (if (zerop (logand 128 c)) "0" "1"))
    (setq c (lsh c 1)) ....

    のように羅列した方が少々早くなんない?(コードが汚くなるのは認めるけど)
    1 character ずつ dotimes やってたら大きなファイルの時に
    かなり遅れるかもしれんし。
    217 : 名無しさん@お腹 - 04/05/28 21:27 (+34,+6,-8)
    速度命!ならビットパターンを表す文字列をキャッシュしといた方が簡単確実。
    218 : 名無しさん@お腹 - 04/05/28 23:47 (+5,-30,-285)
    >>216
    速度を考えるなら、大量のリストや文字列を作らないようにすることも重要と
    考えている。その点で 214 は文字列に関してちょっとイージー、というか所
    詮ワンショットの関数。バッファ終端の判定を楽にしたいという理由だけで8
    バイトずつ文字列に突っ込んでいる。

    > (princ (if (zerop (logand 128 c)) "0" "1"))
    > (setq c (lsh c 1))
    > (princ (if (zerop (logand 128 c)) "0" "1"))
    > (setq c (lsh c 1)) ....
    せめて、
    (princ (if (zerop (logand 128 c)) "0" "1"))
    (princ (if (zerop (logand 64 c)) "0" "1"))
    (princ (if (zerop (logand 32 c)) "0" "1")) ...
    だな。
    (princ (mapconcat
    (lambda (mask) (if (zerop (logand mask c)) "0" "1"))
    '(128 64 32 16 8 4 2 1)
    nil))
    はありだった。

    insert-file-literally は insert-file-contents-literally じゃなきゃだめ。
    219 : 名無しさん@お腹 - 04/05/29 02:41 (-10,-30,-21)
    (do ((x 128 (rsh x 1)))
    ((<= x 0))
    (princ (if (zerop (logand x c)) "0" "1")))
    220 : 名無しさん@お腹 - 04/05/29 03:06 (+3,-30,-40)
    たった 256 個だから
    (defconst byte-to-bit-string
    (let ((v (make-vector 256 nil)))
    (dotimes (i 256) ...)))
    してあらかじめ作っとけばいいじゃん。
    221 : 名無しさん@お腹 - 04/05/29 11:45 (+3,-30,-149)
    (defconst byte-to-bit-string
    (let ((a '("0" "1"))
    (f (lambda (&rest x)
    (let ((x (reverse x)) (r '("")))
    (while x
    (setq r (apply #'append (mapcar (lambda (x) (mapcar (lambda (y) (concat x y)) r)) (car x))))
    (setq x (cdr x)))
    r))))
    (funcall f a a a a a a a a)))
    222 : 名無しさん@お腹 - 04/05/29 12:05 (+17,-10,-1)
    なんかビット絡みはついてけない(´・ω・`)ショボーン
    223 : 名無しさん@お腹 - 04/05/29 14:07 (-20,-30,-49)
    >>219
    rshって、remote shellで実行するのか?

    昔から思ってたんだけど、logand/logiorってRMSのチョンボだな。
    logicalじゃなくてarithmaticだろ。
    またnatnumpってのもあるけど、0はnatunal numberじゃない。
    224 : 名無しさん@お腹 - 04/05/29 14:13 (-1,-30,-28)
    >>223
    > 0はnatunal numberじゃない。
    定義による。
    0を自然数に含めることもある。
    http://www.ss.u-tokai.ac.jp/~itai/column/three.html
    225 : 名無しさん@お腹 - 04/05/29 14:32 (-2,-29,-6)
    >>224
    そうか。
    じゃMITじゃビットAND/ORもlogicalって呼ぶのかもしれないな
    226 : 名無しさん@お腹 - 04/05/29 14:39 (-4,-30,-20)
    >>223
    aithmatic じゃなくて bit-and/or operatorか。
    227 : 名無しさん@お腹 - 04/05/29 16:17 (+0,+0,+0)
    (defun write-binaried-file (filename)
    (interactive (list (read-file-name "Write file: " nil buffer-file-name
    nil buffer-file-name)))
    (let (i
    buf
    temp-buffer-show-hook)
    (with-output-to-temp-buffer " *outbuf*"
    (save-excursion
    (save-restriction
    (widen)
    (goto-char (point-min))
    (while (re-search-forward "^\\([0-F]+\\): +\\(?:\\(?:[01]\\{8\\}\\) \\)\\{8\\}" nil t)
    (goto-char (match-end 1))
    (setq i 0)
    (while (< i 8)
    (re-search-forward "[01]+")
    (princ (char-to-string (string-to-number (match-string 0) 2)))
    (setq i (1+ i))))
    (if (re-search-forward "^\\([0-F]+\\): +\\([01]\\{8\\}\\) ")
    (progn
    (goto-char (match-beginning 2))
    (setq i 0)
    (while (and (< i 8) (re-search-forward "\\=\\([01]\\{8\\}\\) " nil t))
    (princ (char-to-string (string-to-number (match-string 1) 2)))
    (setq i (1+ i)))))
    (setq buf standard-output))))
    (set-buffer buf)
    (let ((coding-system-for-write 'no-conversion))
    (write-region (point-min) (point-max) filename))
    (kill-buffer buf)))
    228 : 名無しさん@お腹 - 04/05/29 17:02 (+0,-30,-39)
    >>227
    save-XX 2つはwith-output-to-temp-bufferの外の方がよかった。

    エラーチェックなんてほとんどしてないので、上書きとかしない方がいいかも。
    229 : 名無しさん@お腹 - 04/05/29 17:37 (-2,-30,-29)
    たいしたことではなくてすまんのだが、write-binaried-file
    はwrite-file-in-binaryの方がアメ人側からするとわかりやすいとおもた。
    230 : 名無しさん@お腹 - 04/05/29 17:55 (-1,-29,-68)
    今になって知ったんだが、hexl-modeは外部プログラムを使ってたんだな。

    2進表示より、右側に全角文字を表示をして欲しいんだが、そういうことを考
    えると、やっぱelispだ。
    231 : 名無しさん@お腹 - 04/05/29 18:08 (-10,-28,-12)
    全角文字
    232 : 名無しさん@お腹 - 04/05/30 20:15 (+51,-30,+0)
    ----BEGIN BASE64----(binary-dump.el.gz)
    H4sICJnAuUAAC2JpbmFyeS1kdW1wLmVsAKVY227jNhB9tr/iwEBjqjUDy/fUcdwm
    zQIF+lT0cR8qS0wsrCx5KWWzBop+e4ek7rKcRM2LKR7OhTPDM2TW6zV2fujIE/de
    DsdrEYBzDtcN4EaeHz4jPsWJOOApkvD8+Bg4JzVrZKBl+mtS8sC/48/Hv+CW1enZ
    B/6ET7//8YgkQiyEGfthVUWfiW9OwF/3IuRudDj6gaA5Tzy90EKP3OFSOB7fnRIB
    5lt9gAUiAWNSPNNEmAgZgpGTByfBQP7gDWhBvIcPblvqjyRIxn8C22BMWPTshB5s
    +AT1/lZ6HA8j0maByTl+2sCmkZrA7YpEUg1AthZyZqGx9p+NmtcGq+6/Sj8RfO/v
    fPJarSSPDxSBJJJKM2lVvmkdVxhp323Yc4sUa1Fs7WI4Lu+nLjPrIDPtIDPpIGN3
    kBl/XAY3HWRWb8iY71Epby1JDqIPJRnLDs4uOsh0KCZ0KCZ0KCZ0KCZ0KCa8VUzv
    TnLKRLUMM1rmOkHQwjQYNslg2CgdIiTt/lukppeVPW11lLt7R6a8qfhrhg2F5p0W
    Rr+0bYbd3dGpod8rTObzKsuSjVtMJ0WIr60cuMP23ypghpo5tYrGXg7OF8Fj8RUs
    LJF/gNAP8tTtqWmA3WpHY5F8BW3N5gitnLvNNGXHjcKY4CCDgobBvN3EmUnneAxO
    GNKPoBCwg3N0VVAD57DzHBVcsHqn0s2l18uAfBNha4OoW9Sm3m250KHM9npm135W
    jX4WD0oMtj9bxrvz7qnUU6mk54EZLJGq97MfcQPGsUpVtbc7vZu0+P73lowe/wNO
    U5Zdquuq88ZvXZqDz+Gg5LwqigR78V0Z4t+ES4eKSkbL8STKZgZjezKdzRfL1c2v
    9w+/PX4atOze8TwpYsqmOXamSuVSnT0mF6DDM6HTc1Xp8gSPqh5Y5+RmHeXG3eTs
    RUe5STc5dIwLOsYFOi6rd4gZmIrnPE2lLO6Hol7wZwpDl2ujzImXWgBzAHSd91PD
    ZIirVUcZPUvnQAbVlyfo7k5CxUVcF6Btmw2r22y/R1weHfX91XwbriCyb/DfqomW
    9lmgSjfdhcsT4iicpOBf2pR0QncPOc/WKAbHej1qKi6cwhnUvohOLqLTi+jsIjq/
    iC4uossCzUnnfAZFeCaDQ2YjzVqaO/UOkeOssY6x2ZiWuyPki1WOv7ZbFYO0ISeQ
    U+q7lBBQ9qTysJd18KXSp25J9Lyjj1ef7jU7AU8QJb64ifD6WYcp2de3KjWkw3+T
    Dy0rXduycpUNx5ZVdsEuL6S31WJWgSc1WPWiEjytwURjZXhWg1cVdF5Dq5YXNTQ3
    nPLHOP3MUlQSzdJURO9COrefw/P5zAopxfL41lOef6t6043QvOt5+q6n+2fpvT7D
    9h6D++JlPkBmasjOUwuuWypWWVw3/71AbBhTk5Xiuv8fdZ8WR30QAAA=
    ----END BASE64----
    233 : 名無しさん@お腹 - 04/05/30 21:00 (+62,+29,-1)
    >>232
    いやー、かなり早くなったね。
    234 : 名無しさん@お腹 - 04/05/30 22:55 (+3,-29,-31)
    >>232
    すごいすごい。

    せっかくなので、アドレス部の表示をファイル位置にできたりしませんか?
    (insert-file-contentsでBEG ENDを指定した場合など)
    235 : 名無しさん@お腹 - 04/05/30 23:34 (+2,-29,-3)
    (`Д´)ノ cclってナンダヨー
    236 : 名無しさん@お腹 - 04/05/31 11:55 (-1,-29,+0)
    >>235
    code convetion lang
    237 : 名無しさん@お腹 - 04/05/31 15:49 (-1,-29,-6)
    16bit,32bit,64bit,128bit単位の表示、および
    ビッグ・エンディアン、リトル・エンディアンの切り替え
    もできれば、言うこと無しだが・・・
    238 : 名無しさん@お腹 - 04/06/03 17:13 (+3,-30,-230)
    (defun bdccl-write-8bit (reg terminator bit)
    (let ((x (+ bit 8)) (r (list `(write ,terminator))))
    (while (< bit x)
    (setq r (cons `(if (,reg & ,(lsh 1 bit)) (write ?1) (write ?0)) r))
    (setq bit (+ bit 1)))
    r))

    (defun bdccl-write-hibit (reg terminator)
    (bdccl-write-8bit reg terminator 8))

    (defun bdccl-write-lobit (reg terminator)
    (bdccl-write-8bit reg terminator 0))
    239 : 名無しさん@お腹 - 04/06/09 23:51 (+7,-30,-187)
    すいません初歩的質問なんですが、リファレンスマニュアルを最終的にPDF化したいのですが、
    ftp://ftp.ascii.co.jp/pub/GNU/elisp-manual-20/elisp-manual-20-2.5-jp.tgz
    これを展開して、README.jisを読んだんですが、elisp.dviの作成手順で
    GNU Emacs Lisp Reference Manual のソースツリーのファイルtexinfo.texが
    どこにあるのだか分かりません。どこにあるんでしょうか?

    240 : 名無しさん@お腹 - 04/07/02 17:30 (+2,-29,-43)
    >>239
    texinfo のソースツリーに入ってます。
    http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/doc/

    ところで、bookshelf.jp にある私的日本語化プロジェクトは
    texinfo 形式のソースがあるのかな?
    241 : 名無しさん@お腹 - 04/07/02 21:33 (+31,-29,-13)
    >>240
    texinfo でやってますので,ソースはありますけど,公開はしてません.
    242 : 名無しさん@お腹 - 04/07/02 21:42 (+50,+27,-3)
    では公開していただけますか?
    243 : 名無しさん@お腹 - 04/07/03 09:21 (+61,+29,-17)
    >>241
    あ、texinfoのやつがあると僕もうれしい。支障なかったら公開きぼんぬです。
    244 : 名無しさん@お腹 - 04/07/03 09:45 (-1,-29,-5)
    >> 242,243
    支障ないので,そのうちに公開しておきます.
    少しお待ちを
    245 : 名無しさん@お腹 - 04/07/13 23:34 (+9,-30,-268)
    >>232
    (defun bdccl-write-hibit (reg terminator)
    `((if (,reg & ,(lsh 1 15)) (write ?1) (write ?0))
    (if (,reg & ,(lsh 1 14)) (write ?1) (write ?0))
    (if (,reg & ,(lsh 1 13)) (write ?1) (write ?0))
    ...

    (lsh 1 15) これを下のように定数にしないのは
    マクロ展開されるて、実行時には関係なくなるから?

    (defun bdccl-write-hibit (reg terminator)
    `((if (,reg & 32768) (write ?1) (write ?0))
    (if (,reg & 16384)) (write ?1) (write ?0))

    246 : 名無しさん@お腹 - 04/07/13 23:37 (+4,-29,-6)
    >>232
    と同じような Hex dump ってあるのかな? そっちの方が僕は使うな。
    binary にしてどんな時に便利か教えてくれ。
    247 : 名無しさん@お腹 - 04/08/11 23:45 (+19,+1,+1)
    ほしゅ。
    248 : 名無しさん@お腹 - 04/08/15 01:57 (+52,+24,-4)
    つか、ほしゅしなくても落ちないのでは?
    249 : 名無しさん@お腹 - 04/09/07 11:11 (+66,-30,-37)
    連番を作るのに、こんなのを作ってるんだけど、
    うまく動かない。 どこが悪いのかな…。

    (do ((i 1)) ((> i 10))
    (insert (format "Sequence%d\n" i))
    (setq i (1+ i)))
    250 : 名無しさん@お腹 - 04/09/07 11:43 (+2,-25,-14)
    あなたは elisper ではありませんね?
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について