[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 23:20 / Filesize : 244 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【入門】CommonLisp【質問よろず】



1 名前:デフォルトの名無しさん mailto:sage [04/11/25 21:48:56]
lispを触ってみたい入門者のQ&A
初心者のQ&A
本スレでは恥ずかしくて聞けない人のQ&A
本スレは高度すぎて割り込めない人のQ&A
linuxでなくてwindowsでやりたいんですが・・・Q&A
lispを使用してC#やJAVAの代替にするための方法(おまけ)

ま、ゆっくりたりましょう。

「いいものの本質は、いかなる時代においても変わらない」byパワーズ

51 名前:デフォルトの名無しさん mailto:sage [04/12/01 10:09:49]
>47
その上司はそんな上級な突っ込み入れられない人。
技術より、金と時間のことしか言わない。
なので、開発(開発費、時間短縮)、保守(ここで金取れる)
というように言っている。後は、結果次第。

52 名前:デフォルトの名無しさん mailto:sage [04/12/01 13:25:47]
他にLispを扱えるやつがいないのはネックになるぞ。

53 名前:デフォルトの名無しさん mailto:sage [04/12/01 14:23:43]
>51
もうすぐFranzの営業からメールが届くよ。
そしたら「上司説得するから導入例とか成功例とかいっぱいくれ〜」と返信してみそ。

54 名前:デフォルトの名無しさん mailto:sage [04/12/01 21:03:50]
会社の課長クラスって高卒ばっかりだろ

55 名前:デフォルトの名無しさん mailto:sage [04/12/01 22:41:56]
>52
それも含めて提案してある。lispの素人が、lispを使って
どのていどのコストでシステムを構築できるか。
ちなみに私はlispのド素人。
30人月ていどのJAVAのwebシステムと比較する予定。
その後の仕様変更に、どの程度のコスト、時間かかるかも
計測比較する予定。

56 名前:デフォルトの名無しさん mailto:sage [04/12/01 22:49:37]
>>55
その比較を業務の一部としてやらせてもらっているの?
恵まれた会社だねぇ。

57 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:00:16]
>56
そんなわけないでしょ。
通常業務が終わったあとに、自分の時間使ってやってるの。
上司に話は通してあるから会社のPCを使うのはOK。
でも残業代がでるわけでもない。提案こけたら成果もゼロ。
恵まれてはない、と思うけどなぁ。
それでもJAVAのデスマの後だから家に帰れる幸せをかみ締めてる。


58 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:34:11]
>>51
その上司は至極まっとうなビジネスマンですね。
営利団体の目的と、目的の為の手段は問わないということをきちんと理解していらっしゃる。

59 名前:デフォルトの名無しさん mailto:sage [04/12/01 23:43:40]
社会の中でどういった役割をしていくのかというのが企業にとっても重要なことの一つ。
目的として金銭的な利益追求しかなくなったらダメ。



60 名前:デフォルトの名無しさん [04/12/02 08:14:59]
>>57
ACLでoracleとかpostgreとかのDBに接続するにはどうすればいいの?
そもそも繋げるの?

61 名前:デフォルトの名無しさん mailto:sage [04/12/02 09:38:12]
オプソに関しては、RMSがm4みたいなキモイものを認めてしまったのが
すべての間違いのもと。

62 名前:デフォルトの名無しさん [04/12/02 21:15:19]
>>61
m4 に代われるものってあるの?
いろいろ探したことあるけど、結局なかったよ。

63 名前:デフォルトの名無しさん mailto:sage [04/12/02 21:23:23]
それどころかGNU makeの関数はm4のマクロによく似てたりするわけだが


64 名前:デフォルトの名無しさん mailto:sage [04/12/02 22:40:26]
>>60
OracleとMySQLとNDBMには専用のパッケージが用意されてる。
PostgreSQLは知らん。と言いつつODBCサポートしてるから大抵のもんはつながるでしょ。
jLinker経由してJDBC叩いてたこともあったが、いまはAllegroCache待ち。

65 名前:デフォルトの名無しさん [04/12/03 00:23:22]
>>64
そこらへんのサポートはエンタープライズ版以上じゃなかったっけ?

66 名前:64 mailto:sage [04/12/03 22:41:38]
>>65
そうなんだ。エディションと機能の対応表みたいのあったはずだけどよく知らない。
devel.licにはEnterpriseって書いてあるからそうなのかもね。
でも他にもUncommonSQLとかCSQLとか使ってつなげる方法もあるんじゃないのかな。
確認は必要な人が各自でよろしく。

67 名前:デフォルトの名無しさん [04/12/04 14:59:07]
ACLのVMみたいなのないの?
faslつくったけど、直に実行できねぇやん。

68 名前:本田 [04/12/04 16:52:50]
>>62
CPP

69 名前:デフォルトの名無しさん mailto:sage [04/12/04 17:41:51]
>>68
はいぃ?CPP って低機能過ぎて m4 と比べ物にならないよぉ。



70 名前:デフォルトの名無しさん [04/12/05 02:58:38]
誰かACL7.0使ってる人いる?

71 名前:デフォルトの名無しさん mailto:sage [04/12/05 10:26:52]
ACLって幾ら?


72 名前:デフォルトの名無しさん [04/12/05 11:23:54]
>>70
ノシ

73 名前:デフォルトの名無しさん [04/12/05 13:44:17]
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

74 名前:デフォルトの名無しさん mailto:sage [04/12/05 15:04:14]
>>70,72
漏れも使ってる。けど「ノシ」ってなに?

>>71
関連過去スレで何度も出てるので探すよろし。回答するのがマンドクサイ価格体系なんで。
ちなみに一番安いのはタダ。

75 名前:デフォルトの名無しさん mailto:sage [04/12/05 16:03:59]
>>74
> けど「ノシ」ってなに?
手を振る様子を表す擬態文字

76 名前:デフォルトの名無しさん [04/12/05 16:55:49]
>>1
あげる

pc5.2ch.net/test/read.cgi/php/1102232976/l50

77 名前:デフォルトの名無しさん mailto:sage [04/12/07 12:38:46]
最長一致法と分割数最小法で形態素解析を
やらねばならないのですが、どなたかやり方を教えてください。
特に文字列の照合が分からないです・・・。

78 名前:デフォルトの名無しさん mailto:sage [04/12/07 22:26:29]
>>53
メール来たよ。
とりあえず導入事例や開発事例を教えてもらうとするかな。

>>76
おいおい

79 名前:デフォルトの名無しさん [04/12/09 01:10:12]
aserverのリファレンスとかないの?



80 名前:デフォルトの名無しさん mailto:sage [04/12/09 03:49:49]
package::nameはあるのに
object.methodで呼び出したりはなぜできませんか?


81 名前:デフォルトの名無しさん mailto:sage [04/12/09 04:26:11]
>>80
(method obj foo bar baz ...) を、(obj.method foo bar baz ...) て書きたいってことですか?
generic function で第一引数を特別扱いする理由はないと思うのですが。
それとも method の引数が obj のみである特別の場合について、
obj.method でメソッドの適用をしたい、てことでしょうか。

82 名前:デフォルトの名無しさん mailto:sage [04/12/09 21:22:50]
なぜできませんかじゃなくて、する必要がないし。
メソッドがクラスに従属するものだと思ってるんでそ。きっと。

83 名前:デフォルトの名無しさん [04/12/10 01:18:01]
そりゃ一般に知られている言語のほとんどのメソッドというものは
クラスに属している(かのように見える)からねぇ。
CLOSのようにクラスの系に属するものは珍しいでしょ。

84 名前:デフォルトの名無しさん mailto:sage [04/12/11 00:37:04]
何だよクラスの系って。メソッドが属するのは総称関数でしょ。

85 名前:デフォルトの名無しさん [04/12/11 22:44:05]
EQLスペシャライザはクラスの系だ、と言いたいのだろう。
意味わかんねぇ。

86 名前:デフォルトの名無しさん [04/12/14 00:33:44]
誰かCLOSでJAVAのクラスライブラリのようなもの一緒に作らない?
勉強もかねて。

87 名前:デフォルトの名無しさん mailto:sage [04/12/14 01:20:12]
>86
なんでjavaなんだよ?
STLじゃダメなのかよ?

88 名前:デフォルトの名無しさん [04/12/14 23:09:55]
>>87
STLでもいいけどJAVAだったらソース公開されてるし、templateって
LISPには実装不要でしょ?

89 名前:デフォルトの名無しさん [04/12/15 00:38:59]
じゃRubyにしとけや

Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ruby!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



90 名前:デフォルトの名無しさん mailto:sage [04/12/15 00:56:46]
インフルエンザみたいにRuby厨が湧いてきたな。ここ2年ぐらいなかったのに

91 名前:デフォルトの名無しさん mailto:sage [04/12/15 01:20:28]
>>88
javaのコレクションフレームワークを実装したいのか?
気持ちはわかるがLispには型とかないからな、
あんまり役に立たないんじゃないか?

勉強にはなりそうだが

92 名前:デフォルトの名無しさん mailto:sage [04/12/15 12:24:12]
mapとかsetとかのレディメイドなコンテナが欲しいんだろうから
それなりに意味はあるんじゃない?


93 名前:デフォルトの名無しさん mailto:sage [04/12/15 13:13:20]
setは抽象データ型としての集合型だとして、
CLにはリストを集合とみなして操作対象とするオペレータは次のものがあるけど、これじゃ
だめなの?
INTERSECTION, NINTERSECTION, ADJOIN, PUSHNEW, SET-DIFFERENCE, NSET-DIFFERENCE
SET-EXCLUSIVE-OR, NSET-EXCLUSIVE-OR, SUBSETP, UNION, NUNION

94 名前:デフォルトの名無しさん mailto:sage [04/12/15 13:30:28]
特定の型だけを格納すると宣言した、consに相当する構造体を定義して
上記のオペレータをgeneric functionのメソッドとして実装することで、
既存の標準オペレータ群を透過的に拡張する。
(しかしGF化のペナルティーを差し引いてもお釣りがくるほど、速くなるか?)

95 名前:デフォルトの名無しさん mailto:sage [04/12/15 13:35:03]
Brunoタソは、GNU CLISPでは、ジェネリック関数の呼び出しは通常関数の呼び出しに
比べて、7〜9倍くらい遅いと言ってたよ。

96 名前:デフォルトの名無しさん mailto:sage [04/12/16 00:12:27]
>javaのコレクションフレームワークを実装したいのか?

もし、そういうものがあればJAVAプログラマーをlispに取り込める
かもしれんな。つーわけで協力してもいいぞ。

97 名前:デフォルトの名無しさん mailto:sage [04/12/16 08:53:02]
>>96 Javaのコレクションフレームワークにあって現在のLispにないものって
何か教えてくれませんか?
www.stackasterisk.jp/tech/java/collection01_01.jsp
をチラっと読んだかぎりでは、すでにほとんど同じものがLispに存在しているように
感じられたので。

98 名前:デフォルトの名無しさん mailto:sage [04/12/16 18:54:53]
Iterator って CL にある?

99 名前:デフォルトの名無しさん [04/12/16 23:07:36]
>>97
ってゆ〜か、LISPってそういう関数の紹介ページないの?
JAVADOCみたいなものでもいいけど



100 名前:デフォルトの名無しさん [04/12/16 23:09:08]
そして100ゲット!!

101 名前:デフォルトの名無しさん mailto:sage [04/12/16 23:27:45]
Hyperspec


102 名前:デフォルトの名無しさん mailto:sage [04/12/17 09:13:46]
>>99 言語としてのCommon Lispは、ANSI(アメリカ規格協会)という団体が定めた規格書によって
規定されています。

この規格書にもとづいて、各実装者がそれぞれの処理系を実装しています。

この規格書をHTML化し、リンクなどを張りめぐらした、Xanalys社の
Common Lisp HyperSpec が比較的有名です。これは、
www.lispworks.com/reference/HyperSpec/index.html
で閲覧も出来ますし、無料でダウンロードすることもできます。

Common Lispの言語仕様上の議論はこの規格書を基礎として行う事が多いと思います。

いわゆるコンテナのようなものとしては、Conses, Sequences, Hash tables,
のDictionary ページを見てみると様子がわかるかもしれません。

103 名前:デフォルトの名無しさん mailto:sage [04/12/17 09:27:07]
>>98
> Iterator って CL にある?
Iteratorは、with-hash-table-iterator, with-package-iteratorなどの
ハッシュテーブル用とパッケージ内のシンボル走査用のものはありますが、
Sequence用には用意されていません。

では、Sequence(リストとベクタ)の各要素を走査していくときはどうするかというと、
リストには、mapcar, mapc, mapcan, maplist, mapl, mapcon, dolist
Sequenceには、map, map-intoが用意されています。
また、その他にも、汎用のループオペレータであるdo, do*, loopなんかも
あります。

Sequence用のiteratorを実装してみるのは、Lispに慣れる練習になるかも。

104 名前:デフォルトの名無しさん mailto:sage [04/12/17 10:30:09]
CommonLISPはsetfがキモイ

105 名前:デフォルトの名無しさん mailto:sage [04/12/17 10:33:25]
ならばどうあればきもくないのか言わないと。


106 名前:デフォルトの名無しさん mailto:sage [04/12/17 10:57:40]
>>104 Generalized Referenceは飛び道具という感じはするけど、
(incf (getf *billing* :total) 100)
なんて記法ができるのはしびれるね。


107 名前:デフォルトの名無しさん mailto:sage [04/12/17 11:21:20]
*f系マクロ定義読んでみ?
無茶苦茶だぜ?デバッグ大変な気が。
ああいうのを「慣れ」としていいのだろうか、
と疑問に思った。
と同時にLISPの限界を見たって感じか。
ここまで力を持つ構文作るなら
万能代入メソッドみたいなの作ればいいと思った。

108 名前:デフォルトの名無しさん mailto:sage [04/12/17 11:57:49]
GNU CLISPのrotatefマクロの定義を見たけど、そんなに無茶苦茶かな? 22行だし。
get-setf-expansionの返り値の意味を把握していないと辛いけど。

ちなみに変数の値を単純にswapするイディオムの展開は次のような感じ。
(macroexpand '(rotatef a b))=>
(LET* NIL
 (MULTIPLE-VALUE-BIND (#:G5407) A
  (MULTIPLE-VALUE-BIND (#:G5406) B (SETQ A #:G5406) (SETQ B #:G5407)))
 NIL)

> 万能代入メソッドみたいなの作ればいいと思った。
そういう仕組みがdefsetfなのでは? メソッドとはCLOSのメソッドということ?
Lispでは「構文」と「メソッド」との区別が
それを使用しているコード上では分かりにくいからね。

109 名前:デフォルトの名無しさん [04/12/18 18:11:01]
なんていうか、86はCLOSだけでコレクションフレームワークをつくり
たいんだよな?それは総称関数だけのライブラリってことなのか?



110 名前:デフォルトの名無しさん mailto:sage [04/12/18 19:33:44]
Eclipseでlispが犯りて〜〜

111 名前:デフォルトの名無しさん mailto:sage [04/12/18 19:46:50]
アナグラムすると
ELISP-CE = カスタマーエンジニア向けのEmacsLisp

112 名前:デフォルトの名無しさん mailto:sage [04/12/18 20:54:33]
Ω ΩΩ<・・・

113 名前:デフォルトの名無しさん mailto:sage [04/12/18 21:28:01]
>>110 EclispでLisp開発するためのプラグインを書いている人がすくなくとも
2人はいる。

114 名前:デフォルトの名無しさん mailto:sage [04/12/18 21:30:13]
>113
誰ですか?
して、そのプラグインは公開されてるのですか?


115 名前:デフォルトの名無しさん mailto:sage [04/12/18 21:42:37]
もったいぶって悪かったな。
www.czempin.de/nicolai/blog/archives/000197.php
lemonodor.com/archives/000218.html
進行状況はわからん。

116 名前:デフォルトの名無しさん mailto:sage [04/12/18 22:05:23]
>115
こっちこそすまん。聞き方がずさんだった。
まさか、マジに存在してるとは思ってなかった。

今から使ってみる。

117 名前:デフォルトの名無しさん mailto:sage [04/12/18 22:32:00]
Lisp in a box をMeadowで作ってくれる人いないかな…
common-lisp.net/project/lispbox/

WindowsでGNU CLISP + SLIME環境を整えるのが簡単になったらいいな。

118 名前:デフォルトの名無しさん mailto:sage [04/12/19 04:24:46]
WINDOWSは開発環境としてはlisperには見放されている。
あきらめるべし

119 名前:デフォルトの名無しさん mailto:sage [04/12/19 14:36:32]
s/lisper/野良lisper/
逆に職業軍人向けはWindows環境が一番充実してる罠。



120 名前:デフォルトの名無しさん mailto:sage [04/12/19 15:04:26]
なんで軍人??

121 名前:デフォルトの名無しさん mailto:sage [04/12/19 15:42:55]
とまべっちに聞け。

122 名前:デフォルトの名無しさん mailto:sage [04/12/19 23:29:21]
(defclass Object()())

これtop

123 名前:デフォルトの名無しさん [04/12/20 23:31:57]
xyyzzyってdefclass使えないの?

124 名前:デフォルトの名無しさん mailto:sage [04/12/21 00:56:45]
>>118
CLISP, GCL, ABCL はどれも Windows 上で動きますが…
Windows で CLISP + SLIME 環境を準備するのは難しいですか?
Emacs + CLISP + SLIME をまとめたパッケージが欲しいという
レベル?インストーラを作ったら需要があるのかなぁ.

# CMUCL, SBCL も Windows 対応が進行中ですし.
# 特に見放されては居ないとおもいますが.

>>123
xyzzy は ANSI CL じゃなくてその前の CLtL2 ベースですから
defclass はありません.


125 名前:デフォルトの名無しさん mailto:sage [04/12/21 08:21:37]
>>124
手軽にlispやりたいひとには需要あるんじゃない?
選択肢が増える。

>>123
defclassは自分で実装しろ

126 名前:デフォルトの名無しさん mailto:sage [04/12/21 08:43:27]
>>124
> Emacs + CLISP + SLIME をまとめたパッケージが欲しいという
> レベル?インストーラを作ったら需要があるのかなぁ.
それは117が言っているように"Lisp in a box"としてすでに存在するので、
それのEmacsをMeadowに変更してくれと言う事ではないかな?

127 名前:デフォルトの名無しさん mailto:sage [04/12/21 12:57:06]
>>124
> CLISP, GCL, ABCL はどれも Windows 上で動きますが…

CLtL2 キボン.さらに Windows で動いて,
しかも日本語も安心して使えないと困ります.clisp はダメぽ.
ビルドの仕方だけの問題なのかな?
どなたか japanese にやさしい clisp-win32 バイナリください m(__)m

lisp じゃないけど,windows 用ってなぜかインストーラ付きばかりですよね.
administrator 権限が無いマシンでは試すことさえできません.
大学の設備でプログラミングがやりずらいなんて...orz

128 名前:デフォルトの名無しさん [04/12/21 22:53:28]
質問です。
"0"を任意の数だけ表示する関数を教えてください。

(setq i 0)
(while (< i 32) (print "0")(setq i (+ i 1)))
で上手くいかない・・・

129 名前:デフォルトの名無しさん [04/12/21 22:59:54]
WindowsではCMUCLって使えないの?



130 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:01:04]
使えるけど

131 名前:デフォルトの名無しさん [04/12/21 23:01:51]
cygwinの上で、とか無しで

132 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:28:38]
>>128
任意個の"0"を並べた文字列をつくる
それを表示する


133 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:50:59]
私、初心者ですが、恐れながら一言、言わせて板抱きます。

>>132
lisp ですから、文字列ではなく、リストを使うべきではないでしょうか?


(mapcar #'princ '("0" "0" "0"))

134 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:51:52]
なぜ128でうまくいかないか考えたまえ。

135 名前:133 mailto:sage [04/12/21 23:53:16]
すいません。
" なしで。
(mapcar #'princ '(0 0 0))

136 名前:デフォルトの名無しさん mailto:sage [04/12/21 23:54:56]
任意個に挑んで。

137 名前:デフォルトの名無しさん [04/12/22 00:24:42]
XYZZYでバイトコンパイルしたものはJAVAから呼べないの?

138 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:30:54]
>>126
うぐ,自分は NT Emacs 使いなので…メイン環境が FreeBSD なんで site-lisp
とか共有する都合上 NT Emacs ですが,Meadow のが良いんですかね?

>>127
CLtL2 よりは HyperSpec のほうが…あれ?ライセンスは良いのかな?
CLISP は一番多言語サポートが良いと思いますが.あー Windows だと
ビルド環境整えるのが面倒なんで日本語サポートは….

139 名前:デフォルトの名無しさん mailto:sage [04/12/22 00:39:46]
>>128
環境は何ですか? Common Lisp には標準では while はありません.
n 個 0 を表示するには下記の方法から好きなものをどーぞ.

;; dotimes 構文
(defun f1 (n)
(dotimes (i n)
(princ n)))

;; do 構文
(defun f2 (n)
(do ((i 0 (1+ i))) ;; i=0 を宣言し,ループ毎に i = (1+ i) してカウンタを増す
((= i n)) ;; i==n になったらループ停止
(princ 0)))

;; loop 構文
(defun f3 (n)
(loop repeat n do (princ n)))

;; 再帰
(defun f4 (n)
(cond ((= n 0)
(princ 0))
(t
(princ 0)
(f4 (- n 1)))))



140 名前:デフォルトの名無しさん [04/12/22 00:56:30]
>>139
をを、ありがとうございます。
でわdoを戴きます

141 名前:デフォルトの名無しさん mailto:sage [04/12/22 01:34:52]
どうでもいいが >>140 さんの環境は何だったのでしょう?

>>133
N 回の繰り返す時必要な情報は「何回繰り返したか?」という数値一つで良いですし、
結果も画面表示が得られれば良いだけなので「リストを使うべき」というほどでも
ありませんね。まぁ、mapcar を使うとすると

(defun zerozero (n)
(mapcar #'princ (make-list n :initial-element 0)))

でしょうか?mapcar は結果として 0 が n 個はいったのリストを返しますが、
これは表示のためだけにはちょっと勿体ないかもしれません。

Lisp だから List という考えかたではなく、状況によって適切なデータ構造は
何か?を考えるようにすると上達がはやいと思います。

>>137
呼べません。バイトコンパイルっつってもバイトコードの体系が違います。


142 名前:132 mailto:sage [04/12/22 08:14:46]
(princ (make-string count :initial-element #\0))
>>128の例に出てくるようなオーダーならこれで十分でしょ。
多分一番早いし速い。
数がでかいのに対応したきゃ適当な単位に分ければよし。


143 名前:デフォルトの名無しさん mailto:sage [04/12/22 09:37:00]
>>133
Lispだからリストを使うべきってすごい思い込みだ
CommonLispには他にも配列やら構造体やらクラスやらいろいろあるよ
あるものは使わなきゃ


144 名前:デフォルトの名無しさん [04/12/23 16:47:10]
CMUCLはネイティブコンパイルができるらしい。
他にネイティブコンパイルできるものはないのか?
Windows限定で(ACLなしで)

145 名前:デフォルトの名無しさん mailto:sage [04/12/23 17:32:01]
(setf str (if t "+" "-"))
(setf sym (if nil '+ '-))
(funcall (string->function str) 1 2) ; => 3
(funcall (symbol->function sym) 1 2) ; => -1

のようなことをするにはどうしたらよいですか?
引数として与えられた文字列やsymbolにバインドされた関数
を返す関数を使いたいのてす。


146 名前:デフォルトの名無しさん mailto:sage [04/12/23 17:33:49]
intern, symbol-value, symbol-function



147 名前:デフォルトの名無しさん mailto:sage [04/12/23 17:37:40]
それだ!すげー速いレスthnx




148 名前:デフォルトの名無しさん mailto:sage [04/12/23 19:18:05]
>>144
LispWorksは?

149 名前:デフォルトの名無しさん mailto:sage [04/12/23 19:45:46]
(funcall sym 1 2)で動くんじゃないの?



150 名前:デフォルトの名無しさん mailto:sage [04/12/23 21:14:30]
>>144
ありますよ
LispWorks $1100
Corman Common Lisp $200 (非商用フリー)
GCL Free
ECL Free
ってとこでしょうか

151 名前:デフォルトの名無しさん mailto:sage [04/12/24 00:31:23]
>>144
なんでACLは除外なの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<244KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef