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


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

Lisp Scheme Part22



1 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:58:40 ]
□過去スレ□
Part21: ttp://pc11.2ch.net/test/read.html/tech/1207300697/
Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/
Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/
Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/
Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html

331 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:23:00 ]
↑みたいなFAQネタ誰かまとめろ

332 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:29:38 ]
(((lambda (X)
((lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))
(lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))))
(lambda (func-arg)
(lambda (l)
(if (null? l)
'no-list
(if (null? (cdr l))
(car l)
(max (car l) (func-arg (cdr l))))))))
'(4 5 6 3 4 8 6 2))

333 名前:329 mailto:sage [2008/06/05(木) 20:29:43 ]
>>330
どうも、ありがとうございます。
なにやら複雑ですね。

>>331
既出でしたか。失礼しましたー


334 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:34:32 ]
(define Y
(lambda (X)
((lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))
(lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg)))))))

335 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:35:29 ]
>>330はこう書いてもよい。

(define F*
(lambda (func-arg)
(lambda (n)
(if (zero? n)
1
(* n (func-arg (- n 1)))))))

((Y F*) 5)

336 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:36:15 ]
>>332はこう書いてもよい。

(define M*
(lambda (func-arg)
(lambda (l)
(if (null? l)
'no-list
(if (null? (cdr l))
(car l)
(max (car l) (func-arg (cdr l))))))))

((Y M*) '(4 5 6 3 4 8 6 2))

337 名前:329 mailto:sage [2008/06/05(木) 20:42:03 ]
>>332
>>334
>>335
>>336

皆さんありがとうございます。なんかすみません。
どれも微妙に難しいコードですが、がんばって理解します。


338 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:15:18 ]
>>328
丁寧なレスありがとうございます。
multirember&coとかアッカーマン関数とか、totalとpartialがどうしたとか、
これらを導出する事で何を言いたかったのかが今ひとつピンときませんでした。
まあ、でも一応Seasonedまでは読もうかと思っています。

339 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 06:25:04 ]
>>328
> 微積とかの数学を知らない人向けのSICPだったのかと。
> だから数学が得意な大学生は最初からSICPでいいと思う。

これは嘘。目的が全然違う。



340 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:21:20 ]
>>339
どんな本ですか?

341 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:34:58 ]
SQL> SELECT COUNT(*) FROM SICPが好きな人;
----
  1

(,,゚∇゚) !!

342 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:23:17 ]
(define-syntax swap
(syntax-rules ()
((swap a b) (let ((tmp b))
(set! b a)
(set! a tmp)))))

(define-syntax display-line
(syntax-rules ()
((display-line x)
(begin
(display x)
(newline)))))


(define tmp 5)
(define other 6)

(swap tmp other)

(display-line tmp)
(display-line other)

343 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:35:26 ]
(define-syntax rotate
(syntax-rules ()
((rotate a) (void))
((rotate a b c ...) (begin
(swap a b)
(rotate b c ...)))))

(define x 1)
(define y 2)
(define z 3)
(define w 4)

(rotate x y z w)

(display-line x)
(display-line y)
(display-line z)
(display-line w)

344 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:37:26 ]
(define-syntax rotate2
(syntax-rules ()
((rotate2 a c ...)
(shift-to (c ... a) (a c ...)))))

(define-syntax shift-to
(syntax-rules ()
((shift-to (from0 from ...) (to0 to ...))
(let ((tmp from0))
(set! to from) ...
(set! to0 tmp)) )))


(rotate2 x y z w)

345 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:00:40 ]
(require (lib "time.ss" "srfi/19"))

(date->string (current-date) "~Y/~m/~d(~a) ~H:~M:~S")

346 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:08:30 ]
インデント付きで見る用のアンカー

>>342-345

347 名前:デフォルトの名無しさん [2008/06/07(土) 12:50:40 ]
誰か教えてくれ

学校の課題で困った

点(x,y) が 傾き a 、y切片が b である 直線 の 上部にあるか、 下部にあるかを 判断する updown? 定義せよ。

ただし、

上部にあるとき #t
下部にあるとき #f

を値として返すように せよ


348 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 12:56:50 ]
中学校からやり直せ

349 名前:347 mailto:sage [2008/06/07(土) 13:03:03 ]
>>348
それは一理ありますね

1次関数の勉強をしなおしてもみましたが、ダメでした



350 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:05:58 ]
>>347
ほらよ。そのまま提出しろよ
(define (updown? a b)
"直線上にあったら何を返せばいいんだよこんなクソ問題だすやつは死ね \
もちろん単位なんていらん")


351 名前:347 mailto:sage [2008/06/07(土) 13:12:11 ]
>>350
ストレートな回答ありがとうございます

私の説明不足です

直線上は考慮するなとのことでした



352 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:18:15 ]
こんな世界に生まれたことを呪いながら人生をリセットすべし

353 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:25:09 ]
>>351
直線上を考慮しないなんてありえない。一次関数の場合、端点が
常に極値になるのだから、直線上かどうかを調べるのは最も重要なことだ。
そんな教師はそちらから願い下げなさい。

354 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:44:58 ]
まずは「上部」と「下部」のテイギからはじめないとな。

355 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:21:14 ]
プログラムを組めないってんならまだしも、一次関数の定義がわからんてどういうことだ?
既知のxを使って算出できる一次関数の値と対象yの値を比べれば良いってアホでもわかりそうなものだが。


356 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:23:56 ]
傾きとか切片とかの意味が判ってないんじゃね?

357 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:25:29 ]
Schemeの課題ってことは大学生以上だと思うけど、一次関数がわからなくても
最近は大学に入れるんだなあ。日本って本当に滅亡にむかってるのだなあ・・しみじみ。

358 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:31:06 ]
大学の定員って志願者より多いらしいから誰でも入れるんじゃね?w

359 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:35:05 ]
>>354
それは、地図の上と下のテイギを決めるようなもんだw



360 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:37:27 ]
上下(じょうげ、うえした)とは、六方位(六方)の名称の一つで、高さ・深さを指す方位の総称。
一定方向に重力のある環境で、重力場の向かう方向、即ち物体が落ちる方向を下(した)、
その対蹠で物体が登る方向を上(うえ)という。
出典: フリー百科事典『ウィキペディア(Wikipedia)』

361 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:40:43 ]
>>357
中学校の総合の時間だったりしてw

>>351
直線の式にxの値を代入してyの値を比較すればわかるだろ

362 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:41:47 ]
地図の上下なら等高線で見て高いほうが上、低いほうが下ってことだな

363 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:44:27 ]
>>347
 class Point
  attr :x, :y
  def initialize(x, y)
  @x, @y = x, y
  end
 
  def updown?(a, b)
  (@y > a * @x + b) ? "#t" : "#f"
  end
 end
 
 a, b = 1, 5
 p = Point.new(1, 5)
 puts p.updown?(a, b)

364 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:47:30 ]
↑変な言語きたー!w

365 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:52:26 ]
>>363
ちょっと見ないうちにLISPも変わったな

366 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:52:44 ]
見た感じRuby?

367 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:59:39 ]
(define updown? (lambda (a . b) (lambda (x . y) (cond ((> y (let ((k x)) (+ b (* a k)))) a (define t #t) t) (else (not #t))))))
(display "こうですかわかりません")

368 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:30:01 ]
ルビーか。@ とか無けりゃ見やすそうなのになあ。惜しい言語だ。

369 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:53:13 ]
ぐはw
釣りだよ。久々にRuby厨降臨か。



370 名前:347 mailto:sage [2008/06/07(土) 18:18:41 ]
>>363
Ruby…うちの学校じゃやらないと思います

371 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:43:09 ]
予想以上に'end'がキモすぎる

372 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:45:04 ]
MatzLispがどうかしたか?

373 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:59:28 ]
>>14

374 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:01:04 ]
Ruby叩かれまくっててワロタ。
でも、Schemeで答え書いちゃったら>370の勉強にならんからな。つまらんし。

>>368
最近は継承の問題もあって、@使う人少ないよself.xとするのが主流
>>371
endぐらいなんだよ。お前なあ、fortran9xなんかend do/end if/end program
なんだぜ。それに比べりゃたかが三文字だし、
明示的にブロックの終わりを指定できてうれしいじゃん。

375 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:02:53 ]
>>374
>明示的にブロックの終わりを指定できてうれしいじゃん
GuidoLispに対する挑発行為ですねわかります

376 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:07:11 ]
>>374
あの syntax ならむしろ end class とかのほうが良かった。
なんかアンバランスな感じなんだよ。

377 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:09:09 ]
> 明示的にブロックの終わりを指定できてうれしいじゃん。
君は数式読み上げるときに「カッコ閉じる」って言って快感を得る人かな?

378 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:10:32 ]
endの対としてbeginがないのは確かに気持ち悪い
なくてもわかるけどさw

379 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:11:55 ]
class

ssalc
とか

それはそうとSchemeのbeginはなんとかしてほしい



380 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:16:22 ]
Ruby厨の弁解ウゼー

381 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:19:01 ]
>>378
Wirthキター

ってModula-*もないとこはないよな。> BEGIN

382 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:20:20 ]
Lispもcondの次の((いらねえんじゃね?

383 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:25:36 ]
>>382
Paul Graham乙


384 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:29:09 ]
>>377
>君は数式読み上げるときに「カッコ閉じる」って言って快感を得る人かな?
ハァ? 普通言うだろ。閉じカッコの位置が違ったら意味が変わっちゃうこと
もあるし。演算子優先順位の存在しないLisperはこれだから無頓着で困る。

385 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:30:27 ]
ちなみに、Emacsのruby-modeならendはC-cC-eで自動補完してくれるので
書き手が気にする必要はない・・・・ってなんかどっかで似たような話を
聞いたことがあるようなないような。

386 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:31:43 ]
「カッコ閉じる」は言うな。国家国家言う奴もいたけど。w

387 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:33:24 ]
インデントで優先順位を決めるSchemeの変種を考えるやつが居そう

388 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:35:24 ]
そろそろRuby厨KY

389 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:51:26 ]
>>384
> 演算子優先順位の存在しないLisperはこれだから無頓着で困る。

かなりハズしたねw
)ないと困るのはLispでも一緒



390 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:17:07 ]
演算子優先順位なんてまるで関係ないよなw

391 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:19:23 ]
どうやらrubyさんの思考もendのようですね

392 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:23:13 ]
そこでcommon lispのprognですよ

393 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:31:23 ]
progn = beginなら
prog0 = begi0?

394 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:16:36 ]
ANSI Common Ruby

395 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:43:44 ]
漏れの出た学科では「こっか」と読んだ。)。

396 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:51:06 ]
一呼吸置くだけで無問題。いちいちカッコトジルとか言わんでも分かるやろ。まさにKY

397 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:52:14 ]
オッカッ

398 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:52:14 ]
かっこ閉じるがデフォだったが
学校に1人はこっかと読ませる先生がいてだな

399 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:57:33 ]
こっか? シェルスクリプトみたいだよ
if ....

fi

case ....

esac



400 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:17:51 ]
こういうのはどうだろう?

( : かっ
) : っこ

( + 1 2 )
かっ プラ いち に っこ

401 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:30:58 ]
>>396
Haskellの$みたいなのならそれでもいいけど
全部一気に閉じない場合は?

402 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:39:25 ]
>>398
書籍にもあるから結構メジャーなんだと思ってるが。

403 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 04:32:00 ]
>>400
Dirac先生まで来た!

404 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 05:23:10 ]
竹内郁雄先生が「こっか」派だった気がする

405 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 11:41:42 ]
「ぱー」と「れん」だってJargonか何かにあったような

406 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 13:04:47 ]
Ex. This is Yet Another CPS. Explain it!

(define M
(lambda (f)
(lambda (ls)
(cond
((null? ls) '())
(else (cons (f (car ls)) ((M f) (cdr ls))))))))

(define (add1x) (+ 1 x))

((M add1) '(1 2 3)) ;=> '(2 3 4)

407 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 13:16:12 ]
本物のCPSならループの途中で脱出できるはずだ

408 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 13:19:46 ]
>>405
さすがに海外にはnerapと呼ぶ猛者はいないか。アーカードとかレッドラムみたいな。

409 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 14:07:48 ]
>>407
人生の敗北者



410 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 15:26:30 ]
何故そう思う?

411 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:32:49 ]
ErlangでConcurrent Scheme作った人挙手ノシ

412 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:35:11 ]
upyr

413 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 01:02:50 ]
>>406
あ、出典わかって納得w

414 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 03:00:01 ]
Gauche民もこのスレに集まるの?

415 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 07:00:06 ]
難民呼ばわりかよ

416 名前:デフォルトの名無しさん [2008/06/09(月) 22:34:40 ]
最近Schemeの勉強はじめたんすけど、再帰が全く理解できない・・・orz
誰か助けてー\(*_*)/

417 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:41:56 ]
再帰の何が理解できないんだてめえコラァ!

418 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:57:53 ]
hogehoge lisperシリーズの出番だな

419 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:09:27 ]
>>416
再帰ではなく、単なる手続き呼び出しだ、と思えば良い。
たまたま自分自身を呼んでいるだけ。



420 名前:デフォルトの名無しさん [2008/06/09(月) 23:12:26 ]
構造帰納法を思い出せばいい

421 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:12:46 ]
>>416
他言語で再帰を使った経験は?

422 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:47:57 ]
>>416
(ローカル)変数の寿命とスコープって聞いてスッと頭に入ってくる?
いや、COBOLer とかの、ローカル変数って概念がない人がいたりするので。


423 名前:デフォルトの名無しさん [2008/06/09(月) 23:52:45 ]
みんな親切で驚きました
もうちょっとがんばってみようと思います


424 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 07:07:26 ]
416の人気に嫉妬

425 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:59:03 ]
Gaucheのウィンドウズ版のバイナリって日本語使えない上に、
lambdaもちゃんと動作しないという認識であってますか?

426 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:01:32 ]
んなあほな

427 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:06:56 ]
いやマジっすマジっす
こんな感じで計算してくれない

gosh>(define test (lambda (a b) (*a b)))
gosh>test 1 5
1
5

428 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:20:12 ]
>>427
(test 1 5)


429 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:24:49 ]
これは流石にネタだろw



430 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:35:32 ]
僕もネタに一票w

431 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:35:44 ]
びっくりした






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

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

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