トップページunix
994コメント303KB

Emacs Part 47 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2014/12/20(土) 16:17:19.14
語り合いましょう。

GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/

EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/

前スレ
Emacs Part 46
http://peace.2ch.net/test/read.cgi/unix/1403458934/
0605名無しさん@お腹いっぱい。2015/03/06(金) 14:42:31.76
>>604
move A
move_if_search B C D
のmove_if_searchみたいな命令が山のように作る必要が出てくるからLispを実装すれば
(if (search B) (move C) (move D))
と書けるようになる(なりたい)からだ
0606名無しさん@お腹いっぱい。2015/03/06(金) 14:44:36.16
>>603
お前が日本語理解しないからイライラMAXなんだよボケ!!!!!!!!!!!!!

> Lispを選ぶ理由は
>> (move C)
>> (if (search B) (move C) (move D))
> が出来るようになるからだ

アホなの?ねえアホなの?
> Lispを選ぶ理由は
>> (move C)
>> (if (search B) (move C) (move D))
> が出来るようになるからだ
> というと、BASICでも出来る事をなんでBASICで書かないんだって言うだろ…
あったりまえだ
そこでなんで数多の言語のなかから Lisp を選んだんだって聞いてんだボケが
命令列挙とif文以外に lisp を選んだ要因はなんだってきいてんだつうのボケが!
それが無いんならお前の中の lisp は命令列挙とif文しかねえってことになるっつってんだよボケが!!
0607名無しさん@お腹いっぱい。2015/03/06(金) 14:47:06.34
>>605
ワンライナーで書きたいってこと?
山のように書くならそれこそ括弧邪魔じゃない?
0608名無しさん@お腹いっぱい。2015/03/06(金) 14:48:03.78
>>605
それ lisp じゃなくてもいいよね…
0609名無しさん@お腹いっぱい。2015/03/06(金) 14:52:56.87
もしかして if は lisp 固有の概念だと思ってるのだろうか。
0610名無しさん@お腹いっぱい。2015/03/06(金) 14:54:38.30
>>606
> それが無いんならお前の中の lisp は命令列挙とif文しかねえってことになるっつってんだよボケが!!

それはお前がLispでスクリプトを書いた事が無いから、そう思うんだろうな
とりあえず同じことをしてから問題点を言ってくれよ

Lispの「根本的」な利点に
(命令 データ)
データ自体がさらに別の(命令 データ)を含められる
っていうのがある
(if (search B) (move C) (move D)) ← これの事ね
フォーマットが一貫している
これが利点じゃないと思ってるのがお前のそもそも間違いだよ

とりあえず
(命令 (命令 (命令 データ)))
みたいに書けることが利点じゃなくLispを選ぶ理由にならない理由を教えてくれよ
0611名無しさん@お腹いっぱい。2015/03/06(金) 14:54:51.42
「if 文は LISP でも書ける。
 だからゲームの開発に LISP が使われることもある。」

言いたいことはこれなんかな。
0612名無しさん@お腹いっぱい。2015/03/06(金) 15:08:05.79
>>610
脇だが (命令 (命令 (命令 データ))) みたいに書けることって別にどの言語でも書ける気もするが。
制御構文が関数と同じに書けるのは別に大したメリットでもないと思うよ。評価順序も普通の関数と違うしね。
0613名無しさん@お腹いっぱい。2015/03/06(金) 15:13:41.64
散々引っ張って
> (命令 (命令 (命令 データ)))
> みたいに書けること
っていってるけど
> (if (search B) (move C) (move D))
って別にデータに命令含ませてないよね
0614名無しさん@お腹いっぱい。2015/03/06(金) 15:16:52.70
(if (search B) (move C) (move D)) ← これの事ね
フォーマットが一貫している
これが利点


いや、普通の人は括弧キモいって言って終わりでしょうさすがに。
2つ並べられたら C っぽい文法選ぶと思うよ。現実問題流行ってる言語は C 系のばっかりだし。
0615名無しさん@お腹いっぱい。2015/03/06(金) 15:24:43.94
Lisp が選ばれない理由はなんとなくわかった気がする。
0616名無しさん@お腹いっぱい。2015/03/06(金) 15:25:22.99
>>614
> いや、普通の人は括弧キモいって言って終わりでしょうさすがに。
それを言ったらLispを全否定だ
結局それが言いたかったんだろうよ(気付いてたけど)
ま、Emacsスレでこんな奴が居る事が悲しい
0617名無しさん@お腹いっぱい。2015/03/06(金) 15:28:44.81
>>613
> って別にデータに命令含ませてないよね
いや含んでるよ
0618名無しさん@お腹いっぱい。2015/03/06(金) 15:30:34.91
>>569
みたいなの書いてるのがLispを語るのがEmacsスレだもんね。
そりゃ廃れるはずだよ。
0619名無しさん@お腹いっぱい。2015/03/06(金) 15:31:22.66
if 文がスペシャルフォームだってのを知ってんのかなこの人
0620名無しさん@お腹いっぱい。2015/03/06(金) 15:32:23.91
>>611
単に Lisp が好きだからで済ませりゃいいところを引くに引けなくなったんだとおもうわw
0621名無しさん@お腹いっぱい。2015/03/06(金) 15:34:31.86
>>618
ゲームでの実例を挙げただけでLisp語るとか言われちゃったよ
0622名無しさん@お腹いっぱい。2015/03/06(金) 15:35:02.45
lispのいいところ全然説明できてなくてワロタ
恥ずかしいからemacsスレから出てこないでね。
0623名無しさん@お腹いっぱい。2015/03/06(金) 15:35:11.44
>>619
知ってるよ
0624名無しさん@お腹いっぱい。2015/03/06(金) 15:36:43.56
>>622
実例を述べただけだからしょうがない
じゃぁいいところを説明してみてよ
多分分かりきったことしか言わないだろうけど
0625名無しさん@お腹いっぱい。2015/03/06(金) 15:36:50.05
例文で関数使ってない時点でお察しだろう
0626名無しさん@お腹いっぱい。2015/03/06(金) 15:38:47.03
フルボッコわろた
Lisp 語るのも命がけだな
0627名無しさん@お腹いっぱい。2015/03/06(金) 15:39:05.27
>>625
例文を全部挙げろってのかよw
Lispの利点って関数かよw
0628名無しさん@お腹いっぱい。2015/03/06(金) 15:41:40.00
>>627
何言ってんだ…Lispの利点は関数が第一級オブジェクトであることだぞ。
0629名無しさん@お腹いっぱい。2015/03/06(金) 15:43:29.69
この人多分 elisp しか書いたこと無いんだと思う。
だから発想が C 的なんだろうね。フォーマットが利点とか無いから。
0630名無しさん@お腹いっぱい。2015/03/06(金) 15:44:14.18
>>628
え?それを言い始めたらJavaScriptとか他の言語でもそうだぞ
なんでmrubyを使わないんだとか言うんだろ

結局そういうレベルの奴が叩いてんだな…
0631名無しさん@お腹いっぱい。2015/03/06(金) 15:45:50.42
>>629
> フォーマットが利点とか無いから。
それはゲームスクリプト→Lispへの変換で利点がある
やってみれば分かる
結局こういう実例は理解されない→叩くっていう典型例だったんだな…
0632名無しさん@お腹いっぱい。2015/03/06(金) 15:45:56.48
>>630
つまり、Lispの関数型言語部分はどうでもいいってこと?
0633名無しさん@お腹いっぱい。2015/03/06(金) 15:47:52.95
>>631
脳内利点はどうでもいいですよ。やったこと無いくせに。
0634名無しさん@お腹いっぱい。2015/03/06(金) 15:48:52.50
>>627
lispの利点は関数にきまってるじゃない
他に何があるのさ
0635名無しさん@お腹いっぱい。2015/03/06(金) 15:50:31.17
>>622
正直 emacs lisp スレでやってほしいわ
0636名無しさん@お腹いっぱい。2015/03/06(金) 15:50:53.00
>>632
どうでもいいなんて言ってない
関数型言語なんてLisp以外でも幾らでもある
Lispじゃなきゃ駄目だという理由は何だと散々聞かれたから今まで返答してたんだ
0637名無しさん@お腹いっぱい。2015/03/06(金) 15:54:30.35
>>636
そこで一生懸命考えだした理由がフォーマット(笑)
0638名無しさん@お腹いっぱい。2015/03/06(金) 15:56:01.61
>>633
あるから言ってるだろ
もちろん完全なLispなんて実装してないよ
defunは実装してなくて、AtomとC++で実装された関数とオブジェクトとifのようなスペシャルフォームだ
スペシャルフォームもマクロなんて実装してないから、インタプリタ内で決め打ちだ
これでちゃんと使えた
0639名無しさん@お腹いっぱい。2015/03/06(金) 15:56:46.56
>>637
> そこで一生懸命考えだした理由がフォーマット(笑)
それはゲームスクリプト→Lispへの変換で利点がある
やってみれば分かる
0640名無しさん@お腹いっぱい。2015/03/06(金) 15:57:23.74
・選択権を持った人がlisp使い
・DSLでやる
これだけで、lispになるだろうし、ocaml使いだったらocamlになるんじゃないかな

Realm of Racketを読んで、schemeでゲームは書きやすいと感じたけど、
land of lispはつまらなかった
0641名無しさん@お腹いっぱい。2015/03/06(金) 15:57:49.70
>>638
それでlispを語っちゃうわけ?
0642名無しさん@お腹いっぱい。2015/03/06(金) 15:58:29.10
lisp の定義ってなんだっけ
0643名無しさん@お腹いっぱい。2015/03/06(金) 15:59:07.11
>>641
Lispを語ってない
ゲームでの実例を述べただけだ
0644名無しさん@お腹いっぱい。2015/03/06(金) 15:59:23.05
>>639
変換自体そもそも不要だろそれ
0645名無しさん@お腹いっぱい。2015/03/06(金) 16:00:34.28
>>642
それぞれの心の中に。わりとマジで。
0646名無しさん@お腹いっぱい。2015/03/06(金) 16:02:15.71
俺々Lisp実装してみましたっていいたいだけちゃうん
0647名無しさん@お腹いっぱい。2015/03/06(金) 16:04:12.22
命令列挙して if で分岐するだけでも本人が lisp だって言いはればそれも lisp だよ
0648名無しさん@お腹いっぱい。2015/03/06(金) 16:55:49.14
バカが口論してるとイミフすぎて
外野席から煽る楽しみすらないっていう
0649名無しさん@お腹いっぱい。2015/03/06(金) 17:00:55.66
質問です。
eval-when-compile の使いどころはわかったのですが、(事前計算による置き換えとかコンパイル後にコードを消し去るとか)
eval-and-compile はどういうシチュエーションで使えばいいんでしょうか?
0650名無しさん@お腹いっぱい。2015/03/06(金) 17:24:34.24
ほんで結論は?
0651名無しさん@お腹いっぱい。2015/03/06(金) 17:29:54.79
結論: ここは似非Lisperしかいない
0652名無しさん@お腹いっぱい。2015/03/06(金) 18:18:59.83
64 の頃まんま lisp っぽいデータがあった気がする。
今作ってるのは cond っぽい分岐持ってる。中身は全然 lisp じゃないけど。
0653名無しさん@お腹いっぱい。2015/03/06(金) 20:30:27.41
横から口挟むけど
おれもゲームでスクリプト実装する必要がうまれて
オレオレ言語かいてたら、あれこれLISPじゃね?ってなって
LISPの真似したら、めちゃめちゃ強力なスクリプトが短時間で実装できたことあるよ

だから「うんうん」とかおもって聞いてたけど
なんでこんな叩かれてんの
0654名無しさん@お腹いっぱい。2015/03/06(金) 20:59:58.87
代わりに君がまともに説明してはどうだろう?
先の人はダメすぎた
0655名無しさん@お腹いっぱい。2015/03/06(金) 21:00:55.94
>>649
defvar とか defun とかの自分で定義したものを eval-when-compile の中で参照したい場合、
eval-and-compile で括ってやる必要があったと思う。
普通に定義文かいただけじゃコンパイル時に評価はされないので。

(defconst value-a (format "*%d*" (expt 9 9)))
(defconst value-b (format "[%s]" value-a))

これの値部分をコンパイル時に計算しようとして eval-when-compile で囲んでも
value-a が void だって怒られるので

(eval-and-compile
(defconst value-a (eval-when-compile (format "*%d*" (expt 9 9)))))
(defconst value-b (eval-when-compile (format "[%s]" value-a)))

ってやって、コンパイル時にも value-a が定義されるようにしないといけない。
0656名無しさん@お腹いっぱい。2015/03/06(金) 21:10:01.11
githubからeval-and-compileで検索すると結構ひっかかるな
おんなじファイルとかどっかからコピーしたようなコードが多いから重複多数だが
https://github.com/search?utf8=%E2%9C%93&;q=eval-and-compile+language%3A%22Emacs+Lisp%22&type=Code&ref=searchresults
0657名無しさん@お腹いっぱい。2015/03/07(土) 01:12:29.83
>>653
lispは実装が簡単な上に強力だからプログラマには好まれる

その反面、ゲームスクリプトと言われてぱっと思い浮かぶような言語ではないと思うが
>>569みたいな例だったらLuaみたいなのを思い浮かべる人の方が多いのではないかと
0658名無しさん@お腹いっぱい。2015/03/07(土) 02:08:05.89
パーサが極小レベルのフットプリントで済むうえ
s式は構文木だから構文木に落とせるプログラムは必ず書ける

というわけで組み込み言語にlispを選ぶなんて
ウンコ漏れるくらいの常識

てかおまえらのいるスレは何スレだっつーんだよ
ばかばっかでウンコ漏れるっつーの
0659名無しさん@お腹いっぱい。2015/03/07(土) 05:21:24.10
どこの常識だよ。
例挙げてから常識を語れよ。
0660名無しさん@お腹いっぱい。2015/03/07(土) 05:45:14.09
どこの常識っていうか
普通に考えてLISPがミニマムな言語ってだけで
そうなるのは自然な流れだと思うんだけど
0661名無しさん@お腹いっぱい。2015/03/07(土) 05:48:01.56
だから具体的な例を挙げろって。
自然な流れならそこら中に沢山プロダクト転がってんだろ?
0662名無しさん@お腹いっぱい。2015/03/07(土) 06:02:24.84
http://emacs-users.jp
このドメイン取ったバカはさっさと更新しろや
0663名無しさん@お腹いっぱい。2015/03/07(土) 06:26:28.23
FFとかバンディクーがそうだってさっき出てたとおもうけど
とりあえず鼻息荒くするの止めようよ
0664名無しさん@お腹いっぱい。2015/03/07(土) 06:27:57.86
たったそれだけで常識にしちゃうのか。
0665名無しさん@お腹いっぱい。2015/03/07(土) 06:35:25.92
うん
0666名無しさん@お腹いっぱい。2015/03/07(土) 08:58:28.13
(move (if (search B) C D))
0667名無しさん@お腹いっぱい。2015/03/07(土) 12:31:14.55
>>655
ありがとうございました。
0668名無しさん@お腹いっぱい。2015/03/07(土) 13:57:00.77
最近 Emacs 立ち上げるのは init.el を点検するときだけになっちゃった
非プログラマになっちゃったから仕方ない気もするんだけど

非プログラミング用途で Emacs 使ってる人ってここにどんだけいるんだろう?
開発用途には一ミリも使ってないって人は流石にいないんだろうか
0669名無しさん@お腹いっぱい。2015/03/07(土) 14:14:52.15
latex書いたりgnuplot-modeの為ってのはプログラミングに入りますか?
0670名無しさん@お腹いっぱい。2015/03/07(土) 14:17:27.90
理系の論文書きだとプログラム一歩手前な感じもするよね。
必要であればコードも書くだろうし。
0671名無しさん@お腹いっぱい。2015/03/07(土) 14:17:57.06
>>668

w3m-emacs, eshell, multiterm(zsh), remember_org, scrach_buffer
0672名無しさん@お腹いっぱい。2015/03/07(土) 14:18:05.02
多言語使えるってことから翻訳に使ってる人とかいそう
0673名無しさん@お腹いっぱい。2015/03/07(土) 14:30:26.73
>>668
init.el を点検するときだけ Emacs を立ち上げる…?
じゃあ init.el は何のために点検してるの?
0674名無しさん@お腹いっぱい。2015/03/07(土) 14:40:32.95
ワロタw
0675名無しさん@お腹いっぱい。2015/03/07(土) 14:42:41.47
>>668
Emacsって書き物に便利だから、著述業のユーザもわりといる気がする
ワープロよりもテキストエディタで原稿を書いた方が圧倒的にはやいしね。
0676名無しさん@お腹いっぱい。2015/03/07(土) 15:00:34.07
>>673
設定みてホクホクするためですよ
0677名無しさん@お腹いっぱい。2015/03/07(土) 18:29:41.44
設定見てホクホクといえば今日は Lingr で init.el 読書会ですよ
22時からやってるんで良かったら見に来てね

http://lingr.com/room/emacs/
0678名無しさん@お腹いっぱい。2015/03/07(土) 19:59:09.65
ほう
なかなか良いことをやってるな
0679名無しさん@お腹いっぱい。2015/03/08(日) 00:05:04.12
読書会やってなかったじゃん
ワイルドで刺激的なHack! とかの画像がはられてたけど
0680名無しさん@お腹いっぱい。2015/03/08(日) 12:45:51.13
http://i.imgur.com/PZpDfj7.jpg
0681名無しさん@お腹いっぱい。2015/03/09(月) 02:35:06.63
なにこの流れ楽しい
navi2chで書くのも最後だから盛り上がってんのか
0682名無しさん@お腹いっぱい。2015/03/09(月) 10:40:51.74
今日の二時だっけ
eww に被せるガワでもつくるしかないのか
0683名無しさん@お腹いっぱい。2015/03/09(月) 10:43:41.43
>>682
二時に何があるの?
0684名無しさん@お腹いっぱい。2015/03/09(月) 10:54:43.85
>>683
今日の2時でdat取れなくなるようになるって噂だよ
0685名無しさん@お腹いっぱい。2015/03/09(月) 10:56:10.59
>>684
ソースある?
0686名無しさん@お腹いっぱい。2015/03/09(月) 11:15:37.00
>>685
競馬板の名無しのソースがある
0687名無しさん@お腹いっぱい。2015/03/09(月) 11:49:11.72
>>686
それはソースではなくて、ただの噂。
0688名無しさん@お腹いっぱい。2015/03/09(月) 11:57:19.89
チラシの裏。

Cygwin の Emacsで find-names-dired でファイルが開けなくなっていた。
ぐぐって directory-listing-before-filename-regexp という変数を知る。

Dired claims that no file is on this line - GNU Emacs FAQ
http://www.gnu.org/software/emacs/manual/html_node/efaq/Dired-claims-that-no-file-is-on-this-line.html
673文字もの長さにビビって放置。そんな長い正規表現、人間に読めるかよ。

今日、re-builderの存在を思い出して、正規表現をあちこち1文字改変したり
して試行錯誤すると30分ぐらいで修正できた。こりゃ便利だな。
0689名無しさん@お腹いっぱい。2015/03/09(月) 12:39:22.60
未だにそんなデグレ起きてんのかよ
emacsェ…
0690名無しさん@お腹いっぱい。2015/03/09(月) 12:53:47.17
(setq dired-listing-switches (concat "--time-style=long-iso " dired-listing-switches))
で解決する話だったりしない?それ。
0691名無しさん@お腹いっぱい。2015/03/09(月) 14:11:47.54
まだいけるじゃねえか
0692名無しさん@お腹いっぱい。2015/03/09(月) 14:59:06.61
gnupack 11.00 で、
GNU Emacs 24.2.1 (i386-mingw-nt6.2.9200) of 2012-12-08 on GNUPACK
を使ってるんだけど、helm-swoop を実行しようとすると、
> helm-swoop--keep-nearest-position: Symbol's value as variable is void: --cl---cl-var--51405--
って、エラーがミニバッファに表示されて helm-swoop が使えない。

ただ、カーソルが日本語の部分とかにあると、なぜか helm-swoop が起動する。

なんか情報無いっすか?
0693名無しさん@お腹いっぱい。2015/03/09(月) 15:02:50.63
>>682>>684>>686
今後は話の出所をちゃんと確認しろよ
0694名無しさん@お腹いっぱい。2015/03/09(月) 16:04:05.38
>>686
競馬板のどのスレ?
0695名無しさん@お腹いっぱい。2015/03/09(月) 16:13:53.18
>>694
▼とるに足らないニュースの為のスレッド653▼ [転載禁止]©2ch.net
http://yomogi.2ch.net/test/read.cgi/keiba/1425351674/672
672 名無しさん@実況で競馬板アウト sage 2015/03/08(日) 13:12:38.41 ID:YE6gLG3X0
API非対応の2chブラウザ
明日の14時に使えなくなる模様
0696名無しさん@お腹いっぱい。2015/03/09(月) 16:17:29.47
うわー
使えない

あっはい
0697名無しさん@お腹いっぱい。2015/03/09(月) 16:20:58.44
>>695
なんでこんなの信じるんだろ・・・
0698名無しさん@お腹いっぱい。2015/03/09(月) 16:21:27.14
>>692
> なんか情報無いっすか?

http://rubikitch.com/2014/12/25/helm-swoop/
rubikitch@ruby-lang.org にメールしろってよ
0699名無しさん@お腹いっぱい。2015/03/09(月) 16:25:59.66
裏情報入手してないのか?
俺ソースだと3/13が切り替え日だ
0700名無しさん@お腹いっぱい。2015/03/09(月) 16:31:13.43
>>699
どこソースか出さなきゃ信用してもらえないよ
0701名無しさん@お腹いっぱい。2015/03/09(月) 16:36:08.72
俺ソースだとdat廃止はポシャったそうだ
0702名無しさん@お腹いっぱい。2015/03/09(月) 16:41:56.59
俺しょうゆ
0703名無しさん@お腹いっぱい。2015/03/09(月) 20:44:58.05
僕のスキルでは無理ですが、

1. EmacsをRuby or mrubyで実装しなおす(Rmax??)
2. rmaxコマンドで~/rmax.d/ 以下のディレクトリ階層と設定ファイルの雛形を自動生成
3. Rubyで設定・拡張できるようにする
4. ビルドツールにはRakeを使う

みたいなことができるとEmacsが一気に今風な感じになって面白いのになぁと思うんですけど… まあ、僕のスキルでは無理なんですけど…
0704名無しさん@お腹いっぱい。2015/03/09(月) 21:06:57.02
emacsをrubyで実装し直すってぶん殴りたくなる遅さかもしれない
何を実装するのか知らんけど
■ このスレッドは過去ログ倉庫に格納されています