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


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

((Common Lisp) (Scheme) :Part 15)



1 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:22:53 ]
過去スレ
Part14: pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: piza2.2ch.net/tech/kako/987/987169286.html

2 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:24:33 ]
□参考リンク□

日本Lispユーザ会(日本語)
ttp://jp.franz.com/jlug/index.html
ここにかなりの情報があります。
ttp://jp.franz.com/
削るとAllegro Common Lispのページへ

プログラミング言語Scheme(日本語)
ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/scheme.html
Schemeの人はまずここを見ましょう。

Lisper への道(日本語)
ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/rakup.html
判りやすいLISP入門サイト。

Schemeへの道(日本語)
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html
ここはschemeの入門サイト。

3 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:25:58 ]
慶応の授業のページ・記号処理プログラミング 2001
ttp://buri.sfc.keio.ac.jp/lisp/menu.html

Practical Scheme(日本語)
ttp://practical-scheme.net/index-j.html
「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。
(Gaucheという完成度の高いscheme処理系作者さんのページでもあります。)

Scheme Hash(英語)
ttp://okmij.org/ftp/Scheme/index.html
S式でXMLを使える様にするSXMLなど

John McCarthy's Home Page
ttp://www-formal.stanford.edu/jmc/
LISPの生みの親、J・マッカーシーのページだそうです。

Association of Lisp Users
ttp://www.alu.org/alu/home
米国のLispユーザ会

4 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:27:53 ]
□SICP関係□

SICP(英語)
ttp://mitpress.mit.edu/sicp/full-text/book/book.html
「計算機プログラムの構造と解釈」の原書です。
全てオンラインで読めます。

計算機プログラムの構造と解釈 第二版 (snip) に関連するホームページ
ttp://www.ipl.t.u-tokyo.ac.jp/sicp/

SICPの回答集
ttp://www.melt.kyutech.ac.jp/~gogogo/sicp_ex/
ttp://pluto.aurorasd.co.jp/~mkama/sicp/
ttp://www.ipl.t.u-tokyo.ac.jp/sicp/solution.root.html
ttp://www.sampou.org/scheme/sicp/answer/

5 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:29:33 ]
□その他□

Schemeで書かれた正規表現ライブラリ
ttp://www.cs.rice.edu/~dorai/pregexp/pregexp.html

幻の「入門Scheme」
ttp://www4.ocn.ne.jp/~inukai/scheme_primer_j.html
オンラインで読める

各種scheme処理系をcygwin上からビルドする方法など。
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/

Bit - Implantation compacte de Scheme
ttp://www.iro.umontreal.ca/~dube/
mini-schemeよりも小さい(?)bytecode変換系

Lisp 言語処理系: CAMPUS LIsP, Lemon version
ttp://aten.aial.hiroshima-u.ac.jp/~kakugawa/clisp/index-ja.shtml
Cコードによるわずか1000行の実装

Cliki
ttp://www.cliki.net/index
CommonLispのプログラムがたくさん紹介されているのでここを当たるべし。

6 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:30:46 ]
encyCMUCLopedia
ttp://www.isr.ist.utl.pt/library/docs/encycmuclopedia/doc/
cmucl以外でも有益なはず

CMUのLisp Repository
ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html
新旧様々なプログラムが置いてある

Tiny CLOS Tutorial
ttp://home.adelphi.edu/~sbloch/class/272/tclos/tutorial.shtml

Schemix
ttp://www.abstractnonsense.com/schemix/
Linuxのkernelへのパッチで、/dev/として扱えるTinyScheme

Bibliography of Scheme-related Research
ttp://library.readscheme.org/
Scheme関連の論文リンク集

7 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:46:55 ]
その他よさそうなリンク

awkで書かれたわずか500行のLispインタプリタ
awklispを読めばLispが理解できる
ttp://www.accesscom.com/~darius/

Emacs Lisp 2
ttp://pc2.2ch.net/test/read.cgi/tech/1068467385/

* Hotdog Scheme ttp://rover.cs.nwu.edu/~scheme/
 MS が金出してたみたい
* Bigloo ttp://www-sop.inria.fr/mimosa/fp/Bigloo/
 CLR 用のコードを吐けるようになったらしい

継続

なんでも継続
ttp://practical-scheme.net/docs/cont-j.html
Schemeへの道:継続
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/continuation.html
継続の使い方
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/index.html#continuation
継続の使用法
ttp://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/block.html
CPS(継続渡しスタイル)の説明
ttp://www.csl.sony.co.jp/person/masui/Forum/data/20011215023622/
Kahua: 継続ベースのアプリケーションサーバー
ttp://www.kahua.org/

8 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:50:50 ]
仕様関係)
CLtL2: Common Lisp the Language 2nd edition
ttp://www-2.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
CLHS: Common Lisp Hyper Spec
ttp://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/Chapter-Index.html
R5RS: Revised(5) Scheme(ja)
ttp://www.sci.toyama-u.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html

便利な情報リソース)
The Common Lisp Cookbook: いわゆる Cookbook
ttp://cl-cookbook.sourceforge.net/

小さい実装)
SECDR-Scheme: SECD machine model に基づく実装
ttp://lily.fan.gr.jp/~kmd/adhoc/view.rhtml?n=SECDR-Scheme_woyomu
Minischeme: 1 ファイルに凝縮された Scheme 処理系
ttp://tinyscheme.sourceforge.net/minischeme.tar.gz
TinyScheme: Minischeme を色々弄ったもの
ttp://tinyscheme.sourceforge.net/
KI-Scheme, AM-Scheme, etc...
ttp://www.nifty.com/download/dos/prog/lisp/
LispMe: Palm 上で動く Scheme 処理系. これも SECD virtual machine.
ttp://www.lispme.de/lispme/

9 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:55:26 ]
LISP Scheme Part9 (html化)
ttp://ruku.qp.tc/dat2ch/0403/01/1069594582.html

独習 Scheme 三週間
ttp://www.sampou.org/scheme/t-y-scheme/t-y-scheme-Z-H-1.html
Schemeの教科書

よろずや
ttp://www.geocities.co.jp/SiliconValley-SanJose/7474/
lispの実用的な情報が色々。

Common-Lisp.net: 多くのプロジェクトがホスティングされてる
ttp://common-lisp.net/

Bill Clementson's Blog: Lisp関連の話題が中心のBlog
ttp://home.comcast.net/~bc19191/blog/

Practical Common Lisp: S式の羅列で現実的な問題をどう解くのかそのギャップに悩まされてる人に
ttp://www.gigamonkeys.com/book/

10 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 10:57:43 ]
テンプレ、以上です。



11 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 19:51:31 ]
ォッ

12 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 02:33:35 ]
イカすスレタイ乙

13 名前:デフォルトの名無しさん [2006/06/24(土) 13:26:20 ]


14 名前:デフォルトの名無しさん mailto:さげ [2006/06/24(土) 20:48:38 ]
(乙)

15 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:19:08 ]
(defun 乙 ()
(message *乙*))

16 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:25:39 ]
(define exit-k '())
(call-with-current-continuation (lambda (k) (set! exit-k k)))

(define 乙
(lambda ()
(k (lambda () (display "乙!") (newline)))))

17 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:48:15 ]
>>16
まわりくどい人キタ!

18 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 22:51:26 ]
>>14がすべて悪いw

19 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 05:24:15 ]
>>16 が継続渡しに失敗している件について。

20 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 11:09:06 ]
(begin
(display (call/cc (lambda (c)
(set! exit-k c)
">>1")))
(newline))
(exit-k "乙!")

こうですか!わかりません!



21 名前:デフォルトの名無しさん mailto:sage [2006/06/25(日) 23:02:51 ]
トップレベルまたいじゃだめだろ

22 名前:デフォルトの名無しさん mailto:sage [2006/06/26(月) 23:37:09 ]
箱の中に手を入れたり、放り込む感じはないけど、car、cdr、
cons は、まだ逐次的にしている感が否めない。
(集合の定義でいいんじゃ……。)

あらゆる問題に対処する慣れの時間を削減する言語の進化!

23 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 00:08:10 ]
>>22
とりあえずそれはLispじゃないので、勝手に俺言語でも作ってやってください

24 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 17:13:43 ]
最近Gaucheをいじり始めて、とりあえず独習Scheme3週間を流し読みしたxyzzy使いなんだが、
初心者がいじって遊べるSchemeのプログラムって何がある?

今はWiLiKiのソースを読んでみてるんだが、ちょっと量が多すぎる気がする。

25 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 18:44:56 ]
漏れはWiLiKiにマクロを追加してみたりして遊んだ。
メモできるカレンダーとか。

26 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 18:45:27 ]
>>24
どこに埋もれたか忘れたが、大学院時代、ゼミの課題で、自分で自分を実行できる
Schemeのサブセットを作ったことあるなぁ。徹底的に文法を削って、200行未満に
収めてしまった。

(define my-scheme
(lambda ()
(eval (read))
(my-scheme) ))

(my-scheme)

ではないよ。ちゃんと環境も作った。プリミティブとクロージャは、大元のやつを
使ってさぼったけど。課題として面白いと思うんだけど、どうかなぁ。

27 名前:24 mailto:sage [2006/06/27(火) 19:12:50 ]
書き込んだ後でScheme Topicsを見つけて、
「あーこの中で簡単なのから読めばいいかな」とか思ってました。
www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme

これ読みながらWiLiKiを弄ってみることにします。
>>26のお題は悟りを開いてから考えます。

28 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 22:42:13 ]
Scheme のサブセットってどこら辺まで許されるかな。
遅延評価は削っても良さそうだけど、継続はダメかな。

29 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:08:19 ]
>>28
R5RSなんて小さい規格なんだから、一つでも削るならSchemeと呼んで欲しくない。
あれ以上削ったらただの「俺言語」だ。

30 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:16:12 ]
>>29
Sussman と Steele の言語が Scheme じゃないとでも?
R^nRS 名乗らないなら
* レキシカルスコープ
* 末尾呼び出しの最適化
* 変数と関数が同じ名前空間
くらいでいいんじゃない?



31 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 23:18:06 ]
>>30
それは単なる 1-Lisp の一種だろ

32 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 01:06:29 ]
>29
「scheme のサブセット」なんであって scheme だとは書いてないでしょ。まぁ
でも継続はあってほしいかも。


33 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 01:13:46 ]
>>32
それを言ったらどんな言語だってSchemeのサブセットのスーパーセットだよw
個人的には継続のない言語をSchemeと呼ぶのは大きな違和感がある

34 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 06:02:20 ]
numeric tower とかマクロとか

35 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 06:04:37 ]
(E E*)の形で関数適用が書けて、レキシカルスコープならschemeでいいや。


36 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 07:41:59 ]
新しいの出てるね

www.schemers.org/Documents/Standards/Charter/status-jun-2006/status-jun06.html

top-level が library になったり、call/cc や when, unless がデフォルトになったり...
UNICODE サポートはどうなるんでしょうね

37 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 07:43:32 ]
R1RSってどんだけちっちゃかったの?

38 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 08:45:45 ]
square brackets([])はなくならないんだろうなあ……なんかやだ。

39 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 10:26:21 ]
R6RS> All definitions and expressions must appear within a library form; R6RS has no notion of a top-level definition or expression.
ま、中途半端よりはいいかもしれんが.... 微妙だ。 

40 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 17:06:50 ]
>>38
同意



41 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 18:52:20 ]
common-lisp.net 死んだ?

42 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 20:28:29 ]
square bracketsって誰の趣味?
なんでR6RSにこれが入るの決定なのか知ってる?

43 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 21:05:38 ]
その議論は2年前に終ってる。なぜお前はその時ちゃんと反対しなかったんだ?

44 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 21:08:10 ]
>>43
ポインタキボンヌ

45 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 21:57:58 ]
web上にいいのがないが、とりあえず去年の3月には投票済み。
www.schemers.org/Documents/Standards/Charter/mar-2005.txt
> We have voted on a number of the decisions listed in the Revised R6RS
> Status Report. Among the minor but visible decisions made are:
> :
> - add balanced square brackets as a synonym for parentheses

46 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 23:11:46 ]
>>39
これ良く分からなかったんだけど、全部 (library <lib-path> <language> <body>) で
書くようにしたいって事だよね。今までみたいに REPL から自由に式を入力出来る形ではなく。
で、(library "main" ...) が entry point になると...

47 名前:デフォルトの名無しさん mailto:sage [2006/06/28(水) 23:59:25 ]
失礼します。
Windows2000にDrScheme(version350)を入れて日本語の設定をしたのですが、
ボタンや本文の文字がうまく表示できません。
このようになります↓
www.42ch.net/UploaderSmall/source/1151505302.jpg
(定義欄に入力しているのは、(string-length "ほげ")です)
メニューの編集-環境設定-フォントでフォントをMSゴシックにしています。
その他は色の設定しか変更していません。
Windowsのフォントキャッシュを作り直してみましたが改善しませんでした。

原因や解決法に思い当たる事があればお教え願います。

48 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 02:51:24 ]
言語を英語にして縦書きの日本語フォントを使うw

49 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 07:37:18 ]
フォントじゃなくて文字コードの設定のような気がする
何かが「Latin-1」か「ASCII」になってるんじゃないか?

50 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 19:15:19 ]
guile schemeでeval関数ってどうやって使うのでしょうか?

gauche schemeなら
(define environment #t)
(define initialenv '())
(set! environment (eval '(define a 2) initialenv))
って感じで使えるんだけど…
guileで同じようにやっても、evalの第二引数の型が違うってエラーになっちゃう。



51 名前:47 mailto:sage [2006/06/29(木) 22:04:01 ]
ありがとうございます。解決法は見つかりませんでしたが、
・縦書きフォントなら表示できる
・中国語・朝鮮語フォントも表示できる(「々」が出ないものが多い)
・BDF UM+は大丈夫
のようなので、その範囲で使う事にします。

>>48
そうすることにします。
>>49
UnicodeフォントのはずのMSゴシックが使えないことに疑問が残りますが、
BDF UM+では表示できたのでそうではないようです。

52 名前:デフォルトの名無しさん mailto:sage [2006/06/30(金) 12:59:13 ]
>>50 それは動く Gauche の方が変なのでは。R5RS 的には、eval の
第二引数は、(interaction-environment), (scheme-report-environment 5),
(null-environment 5) のいずれかでなければならない。

なさりたいことを拝察するに、こういうことかと。最初の行をとれば、Gauche
でも動くはず。

(use-modules (ice-9 r5rs)) ;; R5RS をguile で使えるようにする。
(define env (null-environment 5))
(eval '(define a 2) env)
(eval 'a env)


53 名前:50 mailto:sage [2006/06/30(金) 13:27:21 ]
>>52
おーできた、ありがとう!

54 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 16:26:34 ]
携帯(例えばiアプリ)上で使えるSchemeってないのかな?


55 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 17:12:21 ]
携帯単体ではさすがにキツイべ
逆立ちしてもメモリが足りねえよ

56 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 18:55:59 ]
>>55
heapとして扱えるメモリは意外とあるんだよ、ないのは実行コードエリアとしての容量なんだよね。
だが所詮iAppli


57 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 19:03:06 ]
そうか〜。やっぱし携帯ではきついものがあるのか。

58 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 19:38:30 ]
コードをネット上から読み込んで動作するようにすればどうだ?
携帯Javaでそんなことが出来るか知らんけど。
そしてそこまでするならCGIとかでもいいかもしれんが。

59 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 19:43:36 ]
携帯の上でSchemeインタプリタを動かすかどうか別にして、そういう制限環境向けの
プログラムジェネレータをLisp系の言語で書くという発想は面白いかもしれない。

60 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 12:20:49 ]
www.okisoft.co.jp/esc/whitepaper.html



61 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 15:28:51 ]
(display '(a b "cd\n"))
ってやると
(a b cd
)
って表示されちゃうんだけど、
本当は
(a b "cd\n")
というふうに元の形のまま出力させたい。
どうしたらいいんでしょうか?
自分で元の形のまま出力する関数を定義するしかない?
それともschemeにそういう関数がもとから備わってる?

(write '(a b "cd\n"))
でも出力は
(a b "cd
")
で\nが改行に変わってしまってだめだった。



62 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 15:49:06 ]
\\

63 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 19:54:55 ]
\\
じゃだめで、
エスケープしなくてもそのままの形でS式の中のstringを表示させたいんだけど。

64 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 20:01:50 ]
goshでwriteだと\nて出た

65 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 20:02:08 ]
'(a b "cd\n")
ならばそのまま
(a b "cd\n")
と。
'(a b "cd\\n")
ならばそのまま
(a b "cd\\n")
と表示させたいんです。説明足らずですみません。

66 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 20:06:56 ]
>>64
goshだと確かに\nって出ますね・・・
でもguileだとダメだ・・・
処理系依存なのか・・・
guile用には自分で定義するしかないかなぁ。

67 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 20:09:36 ]
writeはreadできるように書き出せば良いので、どちらの処理系も間違いではないのだろうな

68 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:39:49 ]
guile だと \n は read した時点で改行になってるっぽい。
write の代替書くとかいう方法じゃ解決できなそうだね。

(string-length "\n")
=> 1

(equal? "\n" "
")
=> #t

69 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:49:25 ]
readした時点で改行文字になるのは当然。
問題はwriteが文字列中の改行文字をどう出力するかだよ。

70 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 23:05:06 ]
つまり、どうやっても「元の形のまま」出力することはできないってことでいいのかな。
改行と \n が区別できないってことは、両方含む文字列はどっちかが変換されちゃう。



71 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 23:09:31 ]
>>70
致命的な勘違いをしてないか?

72 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 00:51:39 ]
確かに何か勘違いしてるっぽいけど...

ASCII コードで 32 以下なら ¥ でエンコードし、
それ以外はそのまま表示するような display/write もどきを
自前で書き起こすというのはダメ?


73 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 02:20:49 ]
>>72
こんな質問をする奴にそれを進めても、自分が何やってるか理解できずに今度は
"ab
cd"

"ab\ncd"としか出力できません
という質問がされる悪寒。


74 名前:61 mailto:sage [2006/07/04(火) 03:53:56 ]
改行を\nと出力する自前の関数を定義するっきゃなさそうですね。
今やろうとしてることでは
"ab
cd"
なんていう入力は想定しなくていいので問題ないです。
ありがとうございました。

75 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:13:02 ]
schemeで
関数のリストfuncsと、データのリストdatasがあって、
funcsのn番目を、datasのn番目に適用してくれる関数ってない?
再帰使ってちょこちょこっと書けばいいんだけど。
(define funcs '(func1 func2 func3))
(define datas '(a b c))
(hoge funcs datas)
=>((func1 a) (func2 b) (func3 c))
みたいになるやつ。

76 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:50:54 ]
map apply すりゃいいんじゃないの

ところで data は複数形だぞ。単数形は datum。


77 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 00:59:41 ]
datasわろす

78 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 01:18:47 ]
koders.com/?s=datas

79 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 06:22:48 ]
>>75
(zip funcs datas)
=> ((func1 a) (func2 b) (func3 c))

80 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 07:25:35 ]
例の戻り値が不適切っぽいのはともかく、適用したいってんだから、
(map (cut <> <>) funcs datas)
じゃないかな。



81 名前:デフォルトの名無しさん [2006/07/10(月) 17:44:09 ]
(set! a '(0 1 2 3 4 5))

があるとして、配列 a の後ろから二番目の値、この場合は4を取り出す方法を教えてください

(car とか cdr とかわかんねー。どうやったら後ろから二番目の値を取れるのか・・・)

82 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 17:47:34 ]
(list-ref a (- (length a) 2))

83 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 17:50:01 ]
=> (list-ref a (- (length a) 2))
ERROR: unbound variable (errobj list-ref)
--

すまん、今使ってるのは script-fu uyq@


84 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 17:58:46 ]
(define (list-ref lis idx)
  (if (= idx 0) (car lis) (list-ref (cdr lis) (- idx 1))))

85 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 17:58:47 ]
(define list-ref
(lambda (ls position)
(if (= position 0)
(car ls)
(list-ref (cdr ls) (- position 1)))))

--

ググったら↑みたいのが出てきた。
これで script-fu でも list-ref が使えるらしい。

マンドクセからこれ使おうっと

86 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 00:13:08 ]
(cadr (reverse a))

87 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 16:08:25 ]
carやcdrは判っておいたほうがよい。
リストの構造を紙に書いて考えるんだ。

88 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 17:19:13 ]
ずいぶん前だけど、かなりemacs lisp関連のコードを
コントリビュートしてる人が、consセルって何?みたいな
話しててたまげた。

carとかcdrもS式で表現されたリストに対する操作として
理解してたらしい。

そういうのもありなんだとある意味感動した。


89 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 17:47:49 ]
caddrとかの言い回しは気にならなかったのかな

90 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 17:55:22 ]
>>88
そんな香具師のcontributeしたelispコードなんて使いたくねーな



91 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 19:20:14 ]
実際セル知らなくてもS式だけで完結しちゃうだろ。

92 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 23:07:34 ]
alist もリストのリストにするのか?
問題はないけど何か無駄な感じ

93 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 23:30:01 ]
alistはリストのリストにすること多いけどな。
92は後からデータが追加されるときにcdrをcadrにいちいち書き換えるのか?

94 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 23:50:35 ]
点対とかどうやって理解してるのか興味あるな
まぁアセンブラ書いたこと無い奴のCプログラムみたいなもんなんだろうな

95 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 00:10:20 ]
consを廃止すればドット対作れなくね?
listで良くね?

96 名前:デフォルトの名無しさん [2006/07/12(水) 00:12:14 ]
先頭に1個付けたいときどうするの?

97 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 00:21:35 ]
リストの共有状態とかも理解してない悪寒

98 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 00:49:28 ]
>>93
cadrは何か半端で嫌いだ。
cdrだとビシッとした感じでカッコいいよ?

99 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 01:31:09 ]
>>95
R6RS 方面でそんな話題も出てるみたいね。
といってもさすがに cons 廃止じゃなくて、
cons の第二引数を list に限定しましょうって話だけれど。
↓の 5. Mutability of pairs の最後の段落参照。
www.schemers.org/Documents/Standards/Charter/status-jun-2006/status-jun06.html


100 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 01:36:41 ]
>>99
うへぇ








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

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

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