1 名前:名無しさん@お腹いっぱい。 [2011/11/29(火) 17:50:44.24 ] 前スレ Emacs Part 38 hibari.2ch.net/test/read.cgi/unix/1308635178/
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 18:44:24.40 ] >>649 MSのドライバ配布なんて聞いたことがなかったから調べてみた www.atmarkit.co.jp/fwin2k/win2ktips/1182ctrl2cap/ctrl2cap.html ふむふむこれか。楽ちんなツールもあるもんだな
653 名前: 忍法帖【Lv=34,xxxPT】 mailto:sage [2012/01/10(火) 18:48:32.71 ] 入れ替えじゃなくてcapslockをctrlにしたい
654 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 19:51:36.16 ] 職場なんかだと交換よりCAPS潰すの方が ちょっと同僚が叩いた時とかに面倒がなくていいわ
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 00:27:15.52 ] 最新のソースを取得するにはどうすればいいんだ? ttp://savannah.gnu.org/projects/emacs/ ここに書いてあるとおり bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk としても、メールで[Emacs-diffs]が届いた時点のソースが取得出来ない。 その後、bzr updateしても一向に更新されないし、bzrよーわからん。 そもそも、bzr branchが異様に時間が掛かるし、bzr腐ってる。
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 00:32:21.68 ] github のミラー使ったら? https://github.com/emacsmirror/emacs >A Mirror of the Emacs Bazaar repository ― Read more >www.emacswiki.org/emacs/EmacsFromGit
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 01:05:13.24 ] gitのミラーはとまってることがまれにあるのが玉に瑕。
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 08:32:51.99 ] git clone git://git.savannah.gnu.org/emacs.git
659 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 10:21:02.18 ] ecbとかセマンティックは消滅しちゃうんだろうか
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:14:29.24 ] 23.4のtarballsまだかよ。
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:40:39.01 ] カーソル移動は(previous-line)でできることは分かったのですが、 カーソル位置にある文字とその一つ前の文字を取得する関数はありますか? 取得した文字によって処理を分岐させたいのですが方法が分かりません
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:56:44.81 ] \C-x = が似たようなことをやっている。
663 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:01:57.88 ] char-after char-before following-char preceding-char
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:08:21.16 ] >>662-663 ありがとうございます
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:49:11.90 ] >>659 いや、普通に残ってる。 w3 っていつの間に消えてたんだろう・・・
666 名前:名無しさん@お腹いっぱい。 [2012/01/11(水) 16:05:23.89 ] *scratch*バッファをキルしたあとで,また*scratch*バッファを 開く方法無いですか? やりたいことは,*scratch*バッファの内容を復元することではなく メモ用のバッファを作ることなのですが・・・
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:09:05.64 ] >>666 www.bookshelf.jp/soft/meadow_29.html#SEC392 とかを参考に。
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:10:02.14 ] 普通に C-x b で *scratch* を開けばいいよ。別に特別なバッファじゃない。 お好みで initial-major-mode にしてあるメジャーモードにすればいい。 scratch の内容保存系の lisp おいてるところよく見ると 消せないようにするだけの設定が抜き出せるからそれ参考にしてみれば?
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:10:06.91 ] >>666 www.bookshelf.jp/soft/meadow_11.html#SEC75 つーかこっちか。 モード設定は勝手にやってくれるかも。
670 名前:名無しさん@お腹いっぱい。 [2012/01/11(水) 16:36:53.69 ] >>667 ,668,669 しばらくC-x b *scratch* を使ってみることにします. ありがとうございます.
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 19:20:52.27 ] abbrevの登録単語削除の方法がサパーり判らんのでスゲームカムカしてきた C-u C-x a l
672 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:05:05.68 ] M-x list-abbrevs して適当に消して C-c C-c じゃない? abbrev まともにつかったことないな・・・
673 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:43:02.80 ] 無名関数の再帰を調べていたら Y コンビネータが出てきた あのわけわからん世界に繋がりつつあるんだと思うとちょっとうれしい
674 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:56:17.64 ] 文字列中の "$@"、または "$" をそれぞれスペース一個にする処理を書いています。 ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。 ( "hoge$@$$@hage" なんかは "hoge $ hage"になる) こういうエスケープ文字を含む置換は一回の置換で済ますのは難しいでしょうか?
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:18:20.68 ] >>674 > ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。 だと "hoge$@$$@hage" -> "hoge $$ hage" にならないといけないような。 とりあえず (replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1 " "hoge$@$$@hage") -> "hoge $ hage" となる。
676 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:40:32.37 ] >>675 ああっ・・・すみません、"hoge$@$$@hage" は "hoge $$ hage" でした。 なるほど、直前の $ があれば保存するって書き方も出来るんですね。 もう少し考えてみます。ありがとうございます。
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:44:05.81 ] >>676 下手糞だけれど、 (replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1\\1 " "hoge$@$$@hage")
678 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:57:17.40 ] >>677 $$ の場合、前の$を2つおいちゃうわけですね ただその場合 "hoge$$hage" が "hoge$$ hage" になってしまいます ううむ・・・
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 08:16:55.07 ] emacs24 のパッケージシステム、ELPAの登録少なすぎ糞がと思ってたけど mamalade 追加したら予想してたよりしっかり登録されてて感心した。
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 09:45:12.56 ] ELPA標準+marmaladeでel-getはオワコンか
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 09:57:57.84 ] el-get + githubのemacsmirror これ最強な
682 名前:名無しさん@お腹いっぱい。 [2012/01/12(木) 10:00:49.74 ] emacsmirror いいよな。 emacswiki のelisp 落としたい放題
683 名前:名無しさん@お腹いっぱい。 [2012/01/12(木) 10:23:06.46 ] そんなものよりるびきちさんのauto-installを使えよ
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 11:34:39.88 ] emacsmirrorのレポジトリ群からel-get用レシピ生成するelispはよ
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 18:37:38.11 ] emacs24のlexical-binding、ヘッダに lexical-binding: t とか入れると 全部の let が文脈依存になるのかよ・・・ 使いづれえ
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 07:43:15.33 ] scratch buffer で lexical どうやんのかな
687 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:28:58.27 ] lexical-let を正式サポートでよかったのに。
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:35:18.21 ] 冗談はやめてくれ。
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:41:53.08 ] *scratch* で M-: (setq lexical-binding t) でいいんじゃない? ;; 今まで (setq a 100) (defun foo () (message "%d" a)) (progn (let ((a 200)) (foo)) (foo)) => 200 100 ;; lex bind (setq lexical-binding t) (setq a 100) (defun foo () (message "%d" a)) (progn (let ((a 200)) (foo)) (foo)) => 100 100 ただし、a が defvar で宣言されている場合は lexical-binding を t にしてても強制的に dynamical binding (ようするに今までのと同じ)になる。 だから基本的には置き換えしてもそんなに影響はでないはず。
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:51:34.62 ] あと lexical-binding t にすると lambda が closure を返すようになるな。 バッファ内の未評価の defvar とかが評価結果に含まれててなんかすごく気持ち悪いけど。
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:57:03.63 ] バッククオート展開で無理やり変数埋め込みとかしなくてよくなるのは嬉しい
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 11:06:45.92 ] >>689 どっかで defvar してるシンボル名とバッティングしないような名前を使わなきゃいけないところは 変わらんってことか。 ネームスペースはよ
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 14:48:38.91 ] auto-completeでメジャーモードhoge-modeの補完候補を~/.emacs.d/ac-dict/hoge-modeの各行としたいです tabを押さずに自動的に補完候補を表示するスタイルにしたいと思います .emacsに (setq ac-auto-start t) (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") (add-to-list 'ac-modes 'hoge-mode) と書いてhoge-modeを~/.emacs.d/ac-dictに置いたのですが何にもなりません ac-dict/hoge-modeは改行(lf)区切りなのですが、それがいけないのでしょうか cx4a.org/software/auto-complete/manual.ja.html このマニュアルにはそういうことが書いていないのでよくわかりません
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 15:27:05.91 ] 当然だけど (require 'auto-complete-config) とか (ac-config-default) とかは普通に書いてあるんだよな?
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 16:16:39.75 ] >>694 (require 'auto-complete-config) は書いていましたが (ac-config-default)が抜けていました。 ばっちり動きました!ありがとうございました。
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:09:51.35 ] anythingってupgradeするたびに動かなくなるね。ぽぽぽぽーん。。 すごいわ。修正された行数とかもすさまじいし。。 うんざり。
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:20:52.49 ] Semanticはちゃんと補完してくれてかなりいいんだけど、カーソルの下の 関数名の定義場所がエコーエリアに表示されているにもかかわらず、 そこに飛ぶ術がないという糞仕様。 そもそも使いづらいからAnything用のインターフェースでも作るかな…
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:27:57.09 ] あ、動いた。どうやらanything-match-plugin.elが必須になったぽいな。 そしてこのモッサリ感。鈍重すぎる。 もともと腐ってたのが白骨化した死骸のような感じになってきたな。
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:07:34.45 ] ごめん質問。ひさびさのEmacsで困ってる。 eshellでも(call-proccess ... )の出力をバッファに出しても 表示される日本語部分が化けてしまう。UTF-8なテキストファイル開くと化けない。 UTF-8環境なLinux上。Emacs23にて。 set-language-environment "Japanese"だし set-terminal-coding-systemもset-keyboard-coding-systemも set-buffer-file-coding-systemもdefault-buffer-file-coding-systemも 全部utf-8としたし、実際化けてるバッファでも左下はU:と表示されてるからutf-8に なってるはずなんだが。 なにか解決のヒントくれたらおいら嬉しいのでおねがいしまふ
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:14:26.08 ] default-coding-system は設定してある? 最近は個別にコーディングシステム設定しないで (prefer-coding-system 'utf-8-unix) とかするもんらしい。 バッファ/ファイル名からプロセスから何から何まで一発でやってくれるよ。
701 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:22:24.16 ] あわわ × default-coding-system ○ default-process-coding-system でした
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:24:27.36 ] >>697 anything と semantic で検索するとちらほら引っかかるけど それじゃだめなん?
703 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:34:23.81 ] >>699 process-filter-multibyte-p set-buffer-multibyte とかの multibyte 関係。
704 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:37:58.99 ] むしろ一旦何も設定しない状態で試したほうがいいと思うの
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:44:07.38 ] そもそも最近の emacs って LANG=ja_JP.UTF=8 とかしておけば特に何の設定もしなくても ちゃんと日本語でUTF-8な環境にセットアップしてくれるんだよな。
706 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 13:20:19.97 ] 編集中の文書のアウトライン表示させるためにsr-speedbarを試しています。 www.emacswiki.org/emacs/SrSpeedbar なかなかいい感じですが編集中ファイルと同じディレクトリに他のファイルが あると,speedbarにそれらのファイル以外も表示されてしまいます。編集中の ファイルだけをspeedbarに表示する方法があれば教えてください。
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 13:33:09.07 ] >>706 自分で新たに speedbar のモードを書くしかないと思う。 *SPEEDBAR* で b とか r を押せば開いているバッファが表示されるけれど、これは違うのだろうし。
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 13:48:41.17 ] speedbar-file-regexp を make-local-variable して バッファ名だかバッファファイル名だかだけ引っかかるような設定にすりゃいいんでないの。 これも悪くないな d.hatena.ne.jp/kitokitoki/20100517
709 名前:699 mailto:sage [2012/01/14(土) 14:06:07.65 ] >>700 (prefer-coding-system 'utf-8-unix) でいけました。ありがとー
710 名前:697 mailto:sage [2012/01/14(土) 14:10:38.94 ] >>702 ttp://dev.ariel-networks.com/Members/matsuyama/open-anything-emacs/ ここで目的のものが見つかった。 ただ、Anythingのソース作成方法を理解してないからよくわからん。 積読状態だった例の本をちゃんと読むか…
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:07:22.59 ] るびきちさんが叩かれてる理由がだんだん分かってきた。
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:08:20.51 ] 大部分が男のジェラシーですね
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:16:00.39 ] >>712 違うと思う。
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:39:05.52 ] ジェラシーとか嫉妬とか言うやつは一人しかいないわけで。 何もかも一人でやってるようなグラマにろくなのはいないっていう悪例だよ。
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:43:01.18 ] カーソル行の冒頭の空白の類いを取得したいです 正規表現は^[\t\s]+でカーソル行を取得するのは(thing-at-point 'line)でよいのですが 取り出した文字列を正規表現で検索する方法がわかりません 正規表現で検索というとre-search-forwardがありますが これではバッファ内の文字列を検索することになってしまいます どうすればいいでしょうか
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:48:26.55 ] string-match
717 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:57:07.69 ] \C-h f re-search-backward
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 16:24:06.55 ] >>716-717 ありがとうございます。調べた結果 string-matchでもre-search-backwardでもできました
719 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 16:39:21.50 ] >>707 >>708 ありがとうございます。 自分で設定する方法はわからないので,しばらくはimenu-treeと併用してみます。
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:31:25.59 ] マクロを使いたいけど以下のようにしたい場合はどうしたらいいのでしょう? ・コンパイル後は内容が展開されるのでマクロ自体は未定義になってほしい ・コンパイルしないで el のみのロードの場合は普通に定義されたままでよい eval-when-compile だと el のみのロードの場合にダメになっちゃいますよね・・・
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:35:53.07 ] >>720 describe-function eval-when-compile > In interpreted code, this is entirely equivalent to `progn'.
722 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:53:14.68 ] >>721 ありがとうございます。 eval-when-compile の中にマクロ定義を置く、で何ら問題なかったんですね。 しかし、eval-after-load みたいなコンパイルされない式の方だと実行時にマクロ定義がないとエラーになってしまいます。 これをコンパイル時にマクロ展開する方法はないのでしょうか?
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 20:26:35.83 ] (eval-when-compile (require 'cl)) (defun my-func () (loopとか)) (eval-after-load "library" '(my-func)) じゃだめなのけ?
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 20:36:30.14 ] >>723 みたいに関数化した方がバイトコンパイルもされるから実際一番いいと思う。 一応別解 (eval-when-compile (defmacro somemacro (x) (concat x "-ok"))) (eval-after-load "hogehoge" (eval-when-compile (macroexpand-all '(progn (setq hoge (somemacro "hoge")))))) eval-after-load から macroexpand-all までを eval-when-compile 内にマクロで置けば完璧 これなら el でロードしてもコンパイルしてもちゃんとマクロ展開される
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 16:36:48.20 ] >>653 レジストリ書き換える方法で良ければ、scancode map でぐぐると見つかる。 XP以降はLoginユーザ別に設定できる。 windows server 2003 resource kitに入っている remapkey.exe というのでも 出来るけど。ユーザ個別設定は出来ないかもしれない。
726 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:42:59.64 ] たしかC-aやC-eを連続して押すとカーソルが行ったり来たり(?)する elispがどこかで公開されていた気がするのですが ご存じの方はいらっしゃいませんか これでカーソル移動がもっと快適になるとか書いてあったような気がします るびきち本とかどっちかと思いましたが見つかりませんでした
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:46:46.90 ] アドベントカレンダーで見た気がする
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:50:20.77 ] マジキチ先生のsequential-commandかな 他にも似たようなのあるかもしらんが
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 20:11:35.65 ] >>727-728 ありがとうございます。両方の情報とも関係がありそうだと検討をつけて探したら そのものずばりのページにたどり着けました emacs.g.hatena.ne.jp/k1LoW/20101211/1292046538 この図こそ記憶にあったものです 感謝です
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 20:25:39.60 ] gnupackのemacsで等幅フォント(migu 1m)を使っているはずなのに 微妙にずれてしまう気がします 対処策はあるのでしょうか
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 21:45:30.64 ] >>730 NTEmacsスレの方がストレートな解答が貰えるかもしれない。 Windowsだとフォント重ねあわせでボールド化するとかの設定有効にしてると ずれることがあるって聞いたことがあるな。変数名は忘れたが。
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:03:50.99 ] あれ、うちもだそれ。LinuxでGNU Emacs 23.3.1、Ricty 3.1.2 Rictyを使ってるんだけど例えば $ の幅が他の文字の 90% ぐらいになってる フォントの設定はなんか難しいから放置中
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:18:58.39 ] Rictyってたしか複数のフォントをマージした奴だったよね。 しかもライセンスの問題でバッチ処理で自分で結合処理するんだった記憶が。 幅あってないんじゃない?
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:31:27.69 ] いやRictyって幅を合わせたのが売りじゃなかったっけ?
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:40:43.46 ] C-u C-x = で $ と字を調べてみたら? 違うフォントや違うサイズが割り当てられてたりしない?
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 23:02:15.92 ] ヒントどうもです。 差し当たり $ と 1 についての C-u C-x = の出力および init.el の関係ありそうな設定部分を貼っときます codepad.org/cN7neV2I ($) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x07) (1) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x14)
737 名前:730 mailto:sage [2012/01/17(火) 13:39:36.57 ] 解決策がわかりました フォントのサイズを3の倍数にすればよいだけでした >Emacs で等幅フォントの半角文字・全角文字の横幅比 1:2 を必ず達成するフォント設定 ttp://stickydiary.blog88.fc2.com/blog-entry-107.html
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 14:43:24.37 ] EmacsLisp勉強中です。自作の関数をさらしますので添削お願いします。 (defun random-string (length) (let ((i length) (s "0123456789abcdefghijklmnopqrstuvwxyz") (a '()) n c) (while (> i 0) (setq n (random 36)) (setq c (substring s n (+ n 1))) (setq a (cons c a)) (setq i (- i 1))) (string-join "" a)))
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 14:50:18.40 ] 動けばいいってこと? (defun random-string (length) (let ((i length) (s "0123456789abcdefghijklmnopqrstuvwxyz") (a '()) n c) (while (> i 0) (setq n (random 36)) (setq c (substring s n (1+ n))) (setq a (cons c a)) (setq i (- i 1))) (mapconcat 'identity a "")))
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:05:13.65 ] (defun random-string (length) (let ((s "0123456789abcdefghijklmnopqrstuvwxyz") a n) (while (> length 0) (setq n (random 36)) (setq a (concat a (substring s n (1+ n)))) (setq length (1- length))) a))
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:24:40.20 ] (defun random-string (length) (concat (loop with s = "0123456789abcdefghijklmnopqrstuvwxyz" repeat length collect (aref s (random 36)))))
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:40:14.13 ] (defun random-string (length) (let* ((offset (random 36)) (char (substring "0123456789abcdefghijklmnopqrstuvwxyz" offset (1+ offset)))) (if (> length 1) (concat char (random-string (1- length))) char)))
743 名前:名無しさん@お腹いっぱい。 [2012/01/17(火) 15:59:27.93 ] (defun random-string (length) (substring (shuffle-vector "0123456789abcdefghijklmnopqrstuvwxyz") 0 length))
744 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:08:57.86 ] (defun random-string (length) (loop with s = (make-string length 0) for i from 0 to (1- length) do (aset s i (aref "0123456789abcdefghijklmnopqrstuvwxyz" (random 36))) finally return s))
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:13:45.58 ] はい、そこまで。
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:33:07.71 ] アホ学生の課題か
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:17:27.28 ] random 36っていうのは何というかスマートじゃ無いな
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:26:31.48 ] 見る限り >>742 >>743 はトーシロだな。
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:29:19.73 ] >>748 なんで?
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:33:44.72 ] 関数への入力値を大きくしてみたまえ。
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:41:13.00 ] そんなデカい値で使うような関数か?
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:44:04.87 ] 負け犬プログラマーがここにも。こーゆーやつよくいるんだよね。ヽ(´▽`)ノ