のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,368,225人
昨日: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
    401 : Zeno ◆5 - 2005/04/05(火) 16:08:22 (+7,-28,+0)
    Re:>400
                  それはいいアイディアである
    402 : 名無しさん@お腹 - 2005/04/05(火) 17:27:56 (+91,+29,-4)
    お前なんかに誉められてもうれしくないよ
    403 : Zeno ◆5 - 2005/04/06(水) 11:34:00 (+70,+29,-33)
    Re:>402
                  お前のことは誉めていない。
              知能ベースでも書いてから物を言うようにしろ
    404 : Zeno ◆5 - 2005/04/06(水) 11:43:29 (-1,-29,-48)

    Tail Recursion は未だに Elisp に実装されていない。
    この事実に理由はあるのか?
    405 : 名無しさん@お腹 - 2005/04/06(水) 12:09:56 (+2,-30,-46)
    tail recursion なら実装されてますがなにか?
    おまいの言いたいのは tail recursion optimization のことだろ。
    理由はもちろんある。
    -- 終了 --
    406 : 名無しさん@お腹 - 2005/04/06(水) 13:29:51 (+52,+29,+0)
    あんま相手すんな。
    伝染るぞ。
    407 : Zeno ◆5 - 2005/04/06(水) 17:14:11 (-1,-29,-1)
    Re:>405

                 じゃあお前が optimization しろ
    408 : 名無しさん@お腹 - 2005/04/06(水) 17:59:39 (+3,-30,-72)
    動的スコープの言語では末尾再帰の最適化は不可能
    (defun bar ()
    (fset 'foo (lambda () (print "bar"))))
    (defun foo ()
    (bar)
    (foo))
    409 : Zeno ◆5 - 2005/04/07(木) 14:22:10 (+32,-30,-60)

             A* サーチ・アルゴリズムの elisp バーションが
                  ほしくないわけでもないな。

    ____________
    "Self" is that which is in the process of becoming... --Zeno
    Today's Lucky Number: 421
    410 : 名無しさん@お腹 - 2005/04/07(木) 23:12:09 (+52,+25,+0)
    >>409
    負けたな
    411 : sakurai - 2005/04/08(金) 02:23:21 (+30,+2,-12)
    http://www.club-paruparo.com/

    フィリピン万個伝説よろ

    windows 最高!
    412 : 名無しさん@お腹 - 2005/04/08(金) 13:01:28 (+13,-29,-41)
    ある文字列から四文字ずつ取り出してリストを作りたいのですが
    どういう風にすればよいのでしょうか?

    "いろはにほへとち" という風な文字列から '("いろはに" "ほへとち")
    という風なリストを得たいのです。
    文字列は四文字以上で4の倍数であることは保証されています。
    413 : 412 - 2005/04/08(金) 13:59:44 (-1,-29,-16)
    length と substring を使うと簡単にできました。
    どうもすいません。
    414 : 名無しさん@お腹 - 2005/04/09(土) 21:30:09 (-1,-29,-40)
    Dired-modeのコピーとかをバックグラウンドでできませぬか?
    415 : 名無しさん@お腹 - 2005/04/13(水) 21:05:28 (+59,-30,-165)
    拡張子 .tex を開けると自動的にflyspell-modeになるようにしたくて、
    ついでに辞書もデフォルト(英語)からかえたくて、以下の
    コードを~/.emacs にいれたんですけど、flyspell-mode
    も辞書の変換もうまくいきません。なにがだめなんでしょう?


    (add-hook 'LaTeX-mode-hook 'flyspell-mode)
    (setq LaTex-mode-hook
    '(lambda ()
    (setq ispell-personal-dictionary "~/.ispell-dico-perso")
    (ispell-change-dictionary "dansk")
    ))

    エラーのメッセージはでないんですけど、、、

    416 : 名無しさん@お腹 - 2005/04/13(水) 21:28:40 (+80,-30,-116)
    >>415
    >も辞書の変換もうまくいきません。なにがだめなんでしょう?
    せっかくadd-hookしたのに、次のsetqで上書きされてます。
    danskに萌えたので、設定例も。
    (setq LaTex-mode-hook
    (lambda ()
    (flyspell-mode 1)
    (set (make-local-variable 'ispell-personal-dictionary) "~/.ispell-dico-perso")
    (ispell-change-dictionary "dansk")
    ))
    417 : 415 - 2005/04/13(水) 21:45:32 (+72,+29,-21)
    >>416
    ありがとうございます。萌えてくださって。ってちがうか。
    書いて下さった設定例でやってみたんですけど、
    やっぱりうまくいきません、、、辞書も、英語のままです。
    なにがいったいだめなんでしょうか、、、

    418 : 416 - 2005/04/13(水) 21:56:59 (+41,-29,-18)
    >>417
    だめでしたか。
    当方ispell-modeを英語で使ったことがあるだけで、personal-dictionaryなん
    て変えたこともないのでした。
    せっかくなので少し調べてみます。
    419 : 415 - 2005/04/13(水) 22:03:09 (+63,+29,-1)
    >>418
    きょ、恐縮です、、、、
    わたしももうちょっといろいろやってみます。
    420 : 416 - 2005/04/13(水) 22:09:56 (+11,-30,-127)
    flyspell-modeだとプロセスを上げっぱなしにし、
    それに付随して、辞書の指定はプロセス立ち上げ時なので、
    辞書の設定を先に行う必要があるようですね。
    こんなんでどうでしょうか。
    (setq LaTex-mode-hook
    (lambda ()
    (let ((ispell-local-dictionary "dansk"))
    (set (make-local-variable 'ispell-personal-dictionary) "~/.ispell-dico-perso")
    (flyspell-mode 1)
    )))
    #自分で試してみる気はしません

    421 : 415 - 2005/04/13(水) 22:21:46 (+7,-26,-8)
    >>420
    調べて下さってありがとうございます。m(_ _)m
    ですが、やはりだめでした。。。
    そもそも、なぜflyspell-modeさえ自動的にたちあがらないのは
    なぜなのか、、、
    もうちょっとがんばってしらべてみます。
    422 : 416 - 2005/04/13(水) 22:36:58 (+4,-30,-48)
    げ、そういう状態でしたか。
    LaTex-mode-hook じゃなくて latex-mode-hook なのでは?
    423 : 415 - 2005/04/13(水) 22:49:20 (+10,-30,-163)
    >>422
    あああありがとうございます!(涙
    うまくいきました!
    あのコードはどっかから拾ってきたものなので盲目に過信してました,,,orz

    最初に書いてもらったコードのLaTex をlatexに変えることでいけました。
    一応貼っておきます。

    (setq latex-mode-hook
    (lambda ()
    (flyspell-mode 1)
    (set (make-local-variable 'ispell-personal-dictionary) "~/.ispell-dico-perso")
    (ispell-change-dictionary "dansk")
    ))
    424 : 416 - 2005/04/13(水) 23:12:13 (+38,-30,-35)
    >>423
    プロセスを作成するのは最初のparse時であり、
    ispell-change-dictionaryでispellプロセスがあれば殺す、
    という処理でした。

    この辺はflyspellかispellかは関係ないですね。勘違いしてました。
    425 : 415 - 2005/04/13(水) 23:50:34 (+69,+29,-11)
    >>424
    わたしにはまだよくわかりませんが
    御教授戴きありがとうございました。時間ができしだい
    Lispのマニュアルも最初から最後まで読もうと思います。
    426 : Zeno ◆5 - 2005/04/16(土) 19:01:21 (+12,-30,-17)
    Reply-to:>>425
        よかったな。 Lisp の場合、フリーでダウンロードできる本が沢山ある。
                     探して読め。

    ____________
    If T is consistent, T !|- G_T.
    If T is ω-consistent, T !|- ¬G_T.
    427 : 名無しさん@お腹 - 2005/04/16(土) 20:35:55 (+43,-5,-24)
    引数で与えたローマ字文字列を、平仮名に変換してくれる関数ありませんか?
    428 : Zeno ◆5 - 2005/04/16(土) 20:39:49 (+6,-30,-40)
    Reply-to:>>427
    > 引数で与えたローマ字文字列を、平仮名に変換してくれる関数ありませんか?

            そんなのあるもなにも、自分で簡単に書けるだろうが。

    ____________
    If T is consistent, T !|- G_T.
    If T is ω-consistent, T !|- ¬G_T.
    429 : 名無しさん@お腹 - 2005/04/17(日) 09:38:00 (+2,-30,-18)
    >>427
    kakasi 使っていいなら kakasi.el とか skk-kakasi.el とかを参考にすると
    か。
    430 : 名無しさん@お腹 - 2005/04/17(日) 17:45:37 (+2,-25,-15)
    読み込んだら文字化け!
    何とかして!!
    431 : 名無しさん@お腹 - 2005/04/17(日) 17:48:49 (+52,+29,-17)
    線香と水で供養する!
    432 : 名無しさん@お腹 - 2005/04/17(日) 23:03:48 (+57,+29,-16)
    見るんじゃない 感じるんだ
    そのうち文字化けでも読めるようになる
    433 : 名無しさん@お腹 - 2005/04/17(日) 23:44:43 (-6,-29,-1)
    なにその Rogue like
    434 : Zeno ◆5 - 2005/04/18(月) 12:23:06 (+6,-30,-184)
    Reply-to:>>427
    > 引数で与えたローマ字文字列を、平仮名に変換してくれる関数ありませんか?

                    pt を 0 で始める。
             pt を相対として、 substring で引数の文字列の
               `one-char'、`two-char'、`three-char'
                     をゲットする。

                s は empty string として初期化。

                    (setq s (concat s
                       (cond
                 ((string= one-char "a" ) "あ")
                 ((string= one-char "i" ) "い")
                       ...
                 ((string= two-char "ka" ) "か")
                       ...
                       )))
                   んで、 pt を動かす。

                   上の作業を繰りかえせ。
            Elisp 道場なんだから、後は自分で組み立てろバカ。


    ____________
    If T is consistent, T !|- G_T.
    If T is ω-consistent, T !|- ¬G_T.
    435 : .Zeno ◆ - 2005/04/18(月) 12:24:07 (+6,-30,-173)
    Reply-to:>>427
    > 引数で与えたローマ字文字列を、平仮名に変換してくれる関数ありませんか?

    pt を 0 で始める。
    pt を相対として、 substring で引数の文字列の
    `one-char'、`two-char'、`three-char'
    をゲットする。

    s は empty string として初期化。

    (setq s (concat s
    (cond
    ((string= one-char "a" ) "あ")
    ((string= one-char "i" ) "い")
    ...
    ((string= two-char "ka" ) "か")
    ...
    )))
    んで、 pt を動かす。

    上の作業を繰りかえせ。
    Elisp 道場なんだから、後は自分で組み立てろバカ。
    436 : 名無しさん@お腹 - 2005/04/18(月) 12:48:24 (+59,+29,+0)
    二日考えた結果がそれか
    437 : 名無しさん@お腹 - 2005/04/18(月) 13:13:37 (+66,+29,-15)
    うん。何でそう書くのかって感じだな。
    438 : Zeno ◆5 - 2005/04/18(月) 13:54:18 (+13,-30,-40)
    Reply-to:>>436
                    別に考えていない。

    Reply-to:>>437
        相手が初心者である故、一番直観的な実装方法を書いてやっただけだ。
       実際、ストリングではなく、char 単位で比較をした方が早く処理できる。

    ____________
    If T is consistent, T !|- G_T.
    If T is ω-consistent, T !|- ¬G_T.
    439 : 名無しさん@お腹 - 2005/04/18(月) 14:06:21 (+0,+0,+0)
    ふつーに書けば
    (let ((r-h-alist
    '((a . あ) (i . い) (u . う) (e . え) (o . お)
    (ka . か) (ki . き) (ku . く) (ke . け) (ko . こ)
    (sa . さ) (si . し) (su . す) (se . せ) (so . そ))))
    (defconst r-h-table
    (let ((table (make-hash-table :test 'eq)))
    (dolist (x r-h-alist)
    (puthash (car x) (cdr x) table))
    table))
    (defconst r-h-regexp
    (regexp-opt (mapcar (lambda (x) (symbol-name (car x))) r-h-alist))))
    (defun r-h (roma)
    (let ((start 0) result)
    (while (string-match r-h-regexp roma start)
    (if (> (match-beginning 0) start)
    (push (substring roma start (match-beginning 0)) result))
    (setq start (match-end 0))
    (push (symbol-name (gethash (intern (match-string 0 roma)) r-h-table))
    result))
    (push (substring roma start) result)
    (apply #'concat (nreverse result))))
    こんな感じだろ。cond で比較してくなんて小学生か?
    440 : Zeno ◆5 - 2005/04/18(月) 14:16:32 (+0,-30,-67)
    Reply-to:>>439
                 最適化などいくらでもできる。
         その関数をプログラム中に何度も使用のであれば、早くすればよい。
        さっきも言ったように「一番直観的な実装方法を書いてやっただけ」だ。
           吾の君ので比較した場合、どっちが直観的かは自明である。

    ____________
    If T is consistent, T !|- G_T.
    If T is ω-consistent, T !|- ¬G_T.
    441 : 名無しさん@お腹 - 2005/04/18(月) 14:31:47 (+57,+29,-4)
    ローマ字とかなの対応リスト作ったほうが直感的だよ。
    442 : 名無しさん@お腹 - 2005/04/18(月) 14:32:27 (+52,+29,+0)
    中学生じゃなかったっけ
    443 : 名無しさん@お腹 - 2005/04/18(月) 14:34:59 (+0,+29,-4)
    >>440
    おツムの程度がずいぶんお粗末ですねえ。
    444 : 名無しさん@お腹 - 2005/04/18(月) 15:11:40 (+3,-30,+0)
    438 が最適化されていると感じるのなら
    (defconst r-h-alist
    '(("a" . "あ") ("i" . "い") ("u" . "う") ("e" . "え") ("o" . "お")
    ("ka" . "か") ("ki" . "き") ("ku" . "く") ("ke" . "け") ("ko" . "こ")
    ("sa" . "さ") ("si" . "し") ("su" . "す") ("se" . "せ") ("so" . "そ")))
    (defconst r-h-regexp
    (regexp-opt (mapcar #'car r-h-alist)))
    (defun r-h (roma)
    (let ((start 0) (result ""))
    (while (string-match r-h-regexp roma start)
    (setq start (match-end 0))
    (setq result (concat result
    (cdr (assoc (match-string 0 roma) r-h-alist)))))
    result))
    これで理解できるかな。
    ローマ字にマッチする正規表現を検索し、結果をひらがなとの対応表から引く。
    one-char two-char とやらを cond でだらだら比較するよりずっと「直観的」
    じゃないか。
    445 : 名無しさん@お腹 - 2005/04/18(月) 15:39:00 (+57,+29,-17)
    ローマ字綴りが変でマッチしない時の処理を加えねば。
    446 : 名無しさん@お腹 - 2005/04/18(月) 15:53:42 (+57,+29,-8)
    式が違っているのに、算盤使うか電卓使うかで喧嘩されてもなあ
    447 : 名無しさん@お腹 - 2005/04/18(月) 16:04:31 (+57,+29,-17)
    コードも出してこないのに、口先だけで煽られてもなあ
    448 : 名無しさん@お腹 - 2005/04/18(月) 17:24:31 (+52,+29,-17)
    アンサーノーと電卓の奇屍
    450 : 名無しさん@お腹 - 2005/04/18(月) 22:41:34 (+56,+28,-13)
    もう少しいじれば n=(ry くらい言い出すのではなかろうか。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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