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

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

    emacs覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    201 = :

    書けるよ

    202 = :

    ネット関係のライブラリが標準で用意されているのですか?
    P2P関係のものを何か作りたいのですがtcp/ip層までいじれますか?

    203 = :

    リリースされてる版だと、Emacs Lisp からできるのは TCP の connect(2) だけ。
    accept(2) へのインターフェイスは 用意されてないから P2P やりたいなら
    下請けの外部プログラムが必要。

    204 = :

    M-x namazu とする代わりに F2 キーでカーソルのある単語を検索できればと思い,
    namazu.el を読んだ上で以下のように設定しました
    しかしこの設定で F2 キーを叩いても,
    別のバッファが開いて「32 件検索しました」 という
    メッセージが出るところまで行くのですが
    検索結果がでません どこを直せばよいのでしょうか
    (global-set-key [(f2)]
      (lambda ()
        (interactive)
        (namazu namazu-search-num namazu-default-dir
              (current-word))) )

    205 = :

    namazu の最初の引数は PAGE-NUM みたいなので普通は 0 でしょう。

    206 = :

    >>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 = :

    namazu-search-num が 0 になってない?

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

    (namazu 0 namazu-default-dir (current-word))
    にしたら? ってこと。

    210 = :

    しかしそれでもfromを見つけられない罠

    212 = :

    そのまま翻訳にかけてみるのも手かもな

    213 = :

    >>207 コメントありがとうございます
    namazu-search-num が 0 になってない?
    おかげさまで以下のようにしてうまく行きました
    (setq namazu-search-num 20)
    ...
    (namazu 0 namazu-default-dir (current-word))
    てっきりnamazu-search-num と
    namazu の第一引数は同じにするものだと思いこんでいました
    ありがとうございました

    215 = :


    >>214
    あんがとね。
    いやー、あんた最高だよ。

    216 = :

    >>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 = :

    速度命!ならビットパターンを表す文字列をキャッシュしといた方が簡単確実。

    218 = :

    >>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 じゃなきゃだめ。

    220 = :

    たった 256 個だから
    (defconst byte-to-bit-string
    (let ((v (make-vector 256 nil)))
    (dotimes (i 256) ...)))
    してあらかじめ作っとけばいいじゃん。

    221 = :

    (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 = :

    なんかビット絡みはついてけない(´・ω・`)ショボーン

    232 = :

    ----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 = :

    >>232
    いやー、かなり早くなったね。

    234 = :

    >>232
    すごいすごい。

    せっかくなので、アドレス部の表示をファイル位置にできたりしませんか?
    (insert-file-contentsでBEG ENDを指定した場合など)

    235 = :

    (`Д´)ノ cclってナンダヨー

    238 = :

    (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 = :

    すいません初歩的質問なんですが、リファレンスマニュアルを最終的に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 = :

    >>239
    texinfo のソースツリーに入ってます。
    http://savannah.gnu.org/cgi-bin/viewcvs/texinfo/texinfo/doc/

    ところで、bookshelf.jp にある私的日本語化プロジェクトは
    texinfo 形式のソースがあるのかな?

    241 = :

    >>240
    texinfo でやってますので,ソースはありますけど,公開はしてません.

    242 = :

    では公開していただけますか?

    243 = :

    >>241
    あ、texinfoのやつがあると僕もうれしい。支障なかったら公開きぼんぬです。

    245 = :

    >>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 = :

    >>232
    と同じような Hex dump ってあるのかな? そっちの方が僕は使うな。
    binary にしてどんな時に便利か教えてくれ。

    247 = :

    ほしゅ。

    248 = :

    つか、ほしゅしなくても落ちないのでは?

    250 = :

    あなたは elisper ではありませんね?


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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