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


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

【Perl,PHP】LLバトルロワイヤル7【Ruby,Python】



1 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 11:03:24 ]
最強のLL=軽量プログラム言語は、どれよ?

エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!

■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。

現在の水準では
・インタプリタ
・動的型
・正規表現
・関数オブジェクト
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)

■過去スレ
【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1244166510/
【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1238720336/
【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1234635513/
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1215319832/
【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1209289408/
【Perl,PHP】LLバトルロワイヤル【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1188997302/

45 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:08:40 ]
「4っつ」って珍しい書き方だな。

46 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:11:32 ]
>>43
え、もしかして、なんか言質とってツッコミ入れて恥かかせたがってる?
「言葉通りに」というところを取り上げて何か言いたかったら、元の「言葉」を正しく読み取らなきゃダメよ。

47 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:26:02 ]
よく2chの情報はいい加減とか、正しくない情報が多いとか言われるけど、
僕にとっては大事な情報源です。
たまにはボロクソ言われることもあるけど、みんな親切に教えてくれる。
いつもありがたいと思ってる。

48 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:29:47 ]
>>46
そんな気はまったくない。>>35には感謝してるよ。よそで”遅延評価というのはだな・・・”
とか言ってみたいほうだから。元の「言葉」を正しく読み取ったらどえなるのだ。

49 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 09:38:28 ]
うわ。アンカー間違えた>>34だ。最後”どえなるのだ” じゃねえ ”どうなるのだ” だった。

50 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:09:38 ]
tail $ take 10 $ filter func [1..]

とかそんな感じのことじゃねーの?

51 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:31:33 ]
>>48
> 元の「言葉」を正しく読み取ったらどえなるのだ。
「(1〜∞)の中から、条件に合致する値を抽出し、さらのその2番目から10番目を抽出する」
これが元の言葉だよね。
「”マジで言葉通りに書ける”とあるから1−2番目を計算せずに」って、それは元の言葉にある
「条件に合致する値を抽出」する途中の段階を、そっと見て見ぬフリしてない?

52 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 10:56:53 ]
遅延評価って、例えば現在の時間を内部でパラメータとして使うような関数だと、
いつ評価されるん?

53 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:00:43 ]
現在時間を使うなら「時間を得る」部分だけはその時点で評価されて
それ以外の処理は後回しじゃね?



54 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:06:17 ]
>>51
見て見ぬフリはしてない。「条件に合致する値を抽出」するところは処理系が
3番目が必要になったときに1−3番目を計算して3番目を返すと解釈している。
だからプログラマはいきなり3番目を取り出せると想像したんだけどこれで
合ってるんじゃないか。

55 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:09:07 ]
遅延評価と、クロージャとかカリー化を統一できそうだな。

56 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:38:45 ]
>>52
Haskell では IO モナドでそのへんをうまくやってる

57 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 17:48:30 ]
とんだすれ違いスレだな

58 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 18:52:22 ]
すれちがい通信か

59 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 19:52:52 ]
>>16>>26のアルゴリズムで書いてみたわ。
泥臭い方法だけど、桁が増えても計算量が線形増加だからいいかも。
30行くらいだけどソースいる?

60 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 21:05:47 ]
plz

61 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 21:06:28 ]
2/2 www.youtube.com/watch?v=nVDq-s3r5Ys
1/2 www.youtube.com/watch?v=9UU4Hx76Zg0

62 名前:59 mailto:sage [2009/07/26(日) 21:16:15 ]
def kaihei(n, k):
    stack = []
    keta = 1
    while n >= 100:
        stack.append(n % 100)
        n = int(n / 100)
        keta = keta + 1
    else:
        stack.append(n)
    dlist = list(range(10))
    dlist.reverse()
    baikon = 0
    rem = 0
    result = ""
    while (keta > 0 or (keta <= 0 and -keta <= k)):
        if keta == 0:
            result += "."
            keta = keta - 1
        if(len(stack) > 0):
            rem = rem + stack.pop()
        for i in dlist:
            if(rem >= i * (baikon + i)):
                result += str(i)
                rem = (rem - i * (baikon + i)) * 100
                baikon = baikon * 10 + i * 20
                keta = keta - 1
                break
    print(result)

63 名前:59 mailto:sage [2009/07/26(日) 21:24:32 ]
>>> kaihei(2, 100)
1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727

ちなみに、整数しか対応してない。
一部の名前が、開平とか桁とか倍根とかそのままローマ字になってるけど、そのあたりは勘弁してくれ。
かわりに桁合わせをちゃんとしたから。



64 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:32:27 ]
クスクス

65 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:35:23 ]
>>43
横レスだが

drop 49 $ take 100 $ filter (\x -> (foldr ((+) . product . enumFromTo 1 . read . (flip (:) [])) 0 . show) x == x) [1..]

直感的に書くとこんな感じかな?
49と100の部分を変えればどうとでも書けるよ。

66 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 07:40:37 ]
>>65
サンクス!
haskell知らないから間違っているかもしれないが49までの計算結果を捨てる
のを明示しなきゃいけないということですね。
>>34を読んだら 2..10 という感じで書けると思っていた。

67 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 08:51:59 ]
>>62-63
GJ!!!

68 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 11:28:26 ]
memo
ttp://www.youtube.com/watch?v=xJ93ESdCJgI

69 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 12:08:35 ]
>>66
そうですね。
でもたとえば「それが50番目である」ことを示すには前の49個の計算が
必要なわけで、それを省略することは遅延評価といえどできない。
遅延評価なのは100以降を計算しないこと。

自分で2,10を引数にとる関数を作ればもちろん2..10みたいに書けるよ。



70 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:02:19 ]
PHPで無料レンタル鯖のいいとこ&有名なとこあります?

71 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:12:24 ]
俺んち

72 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 15:25:28 ]
養殖ならノルウェー辺りが有名だな

73 名前:デフォルトの名無しさん [2009/07/27(月) 23:44:17 ]
www.atmarkit.co.jp/news/200907/24/ruby01.jpg

なにポーズつけてるんだよ(w



74 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:50:13 ]
It has already been out.

75 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 01:14:48 ]
「ポーズとってください」って言われたんだろうなw
『まつもとゆきひろ コードの世界』でも「私だって恥ずかしい」とか書いてた

76 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 03:13:45 ]
その記事おもしろかったねー。いろんな話が凝縮されてて。

77 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 05:55:15 ]
プログラマーって見栄え悪いのばっかだな。

78 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 06:00:38 ]
見栄えで稼ぐ商売以外は似たり寄ったりだよ。

79 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:14:20 ]
>77
運動不足が職業病だからな。

80 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:46:29 ]
まっつんはちょっと痩せればそれなりにダンディになるとは思うが。

81 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:31:14 ]
全員、顎髭を伸ばせば、かっこがつくよ。

82 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:50:10 ]
They should be skin head.

83 名前:デフォルトの名無しさん [2009/07/29(水) 19:12:58 ]
Python 3.1からifとかforとかけっこう変わるんだね。
修正がめんどい orz





84 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 20:59:40 ]
coreblog.org/ats/statements-to-expressions-python-31
このエープリルフールを真に受けちゃった人ですか

85 名前:83 [2009/07/30(木) 01:26:38 ]
>>84
変わらないの?良かったぁ (;´Д`)

86 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 01:31:23 ]
しかし、3がリリースされた直後に3.1を四月馬鹿ネタにするってのもなんかセンスが微妙だな
Python 4とかなら微笑ましいんだが。
Pythonってそんなにバージョンアップしないもんなの?
Perl6がリリースされた後でPerl 6.2の話題とか、多分普通に信じるぞ。

87 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 03:32:19 ]
Pythonのメジャーバージョンは1、2、3、3.1、3.11、3.12、3.13、3.14、3.141と増えていくからな

88 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 03:34:48 ]
クヌース先生の美学だよなあ……

89 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:13:54 ]
>>87
最近の小学生は3と聞いたけど

90 名前:デフォルトの名無しさん [2009/07/30(木) 13:39:23 ]
>>89
それ聞きまちがい


91 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 15:00:19 ]
ttp://ja.wikipedia.org/wiki/円周率は3

92 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:01:38 ]
エイプリルフールネタを一見それとはわからない状態で
いつまでもWeb上に残しておくなんて、はっきり言って悪だろ。
それでwebなんちゃらなんて会社の代取とか笑えねーって。

93 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:39:36 ]
日付みればわかるだろ。アホか



94 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:03:21 ]
実際、真に受けてるやつがいるだろ。アホか

95 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:08:02 ]
ひとりのアホの面倒をみるためにみんなが犠牲にならなければならないのかよ

96 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 08:58:40 ]
>>95
犠牲て。

ネットにデマを流すときはそれなりの
配慮があってしかるべき。jk



97 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 11:54:13 ]
4/1のエントリって時点で、それなりの配慮はしてるわな。

98 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 18:47:55 ]
4/1に書かれた記事は全て疑わないといけないのかよ

99 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 19:00:29 ]
とうぜんだろ

100 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 21:20:58 ]
どっかのバカがやってるならともかく、
プロフィールにそれなりの肩書き書いておいて
あんな感じじゃ、いろいろ神経疑われるわなw

101 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 22:03:28 ]
Pythonian: モンティパイソン精神なのでそんなの余裕で笑ってスルー
Rubist: エープリルフールネタなんだからあーたらこーたら
Perler: ネタを見逃して話題に乗れない

102 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 22:13:16 ]
>>101
あ、それいいえてミョー

103 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 23:20:35 ]
>>101
いや、きっとdankogaiなら、
dankogaiならネタを見逃すはずがない。



104 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 23:34:11 ]
>>103
断固GUYって誰?

105 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 23:34:33 ]
LLTVまで残り1ヶ月を切りました。

盛り上がって参りましょう!

106 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 06:20:40 ]
すみません。

ところで僕は中学生のころ、いじめられっこでした。
一番ひどくいじめられた放課後、先生が見るに見かねてとめてくれて
家の帰りもずっといっしょでした。そのとき、川原で先生と一休みしたんですが
先生がこんなことをいっていました。

「人間ってのはひどいもんだ。
こんな鼻くそより汚い。」

私はいまだに鼻くそより汚いという比喩がうまく理解できませんが、
そんな比喩にまで使われた鼻くそをいまだに食べています。私はRubyプログラマーです。

107 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 15:45:52 ]
そのコピペなんかいみあんの?


108 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 18:49:14 ]
例えばこれを実行すると結果が何になるか、すぐにわかる?
@int i=0;if(i=1){puts("1");}else{puts("2");}
Aint j=0;for(;j>0;++j){}


109 名前:デフォルトの名無しさん [2009/08/02(日) 02:02:48 ]
分かるよ。
1,1 が表示される。
2,for文は実行されない。

110 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 07:04:04 ]
俺は後者はとっさに判らないな
単項++演算子の戻り値はアテにすべきじゃないと思ってる
自分じゃそういうコードは書きたくないね

111 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 07:06:57 ]
単項++の戻り値は使われていないわけだが…

112 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 07:13:43 ]
ごめんなさい間違えました

113 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 07:15:59 ]
i=1が(文脈によっても)何を返すかは、言語によってブレがあるな。



114 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 08:16:52 ]
BASIC系は文脈で比較か代入かが決まることが多いね
本家はLET省略不可だからLET文以外代入だけど

Javaは代入文自体の戻り値はCと変わらんが
if文がbooleanしか受け付けないからエラーだな

115 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 12:42:53 ]
>>107
底辺Rubyプログラマーってことだろ

116 名前:デフォルトの名無しさん [2009/08/03(月) 09:39:57 ]
所謂覆面算で
英字一文字がそれぞれ異なる一桁の数字(0-9)で表されるとき
one
+ nine
+ twenty
+ fifty
= eighty
となる組み合わせを検索してください
各行の先頭の文字は0以外です

117 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 11:52:03 ]
それって正解は「そんな組み合わせは無い」で合ってる?

118 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 11:55:11 ]
pythonスレで答え出てなかったっけ?

119 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 12:26:48 ]
ごめんあった、何故かone+nine+twenty+fifty+eighty=eightyで計算してた俺の馬鹿〜
selects([], _).
selects([X|XL],YL) :- select(X,YL,L), selects(XL,L).
check(O,N,E,I,T,W,Y,F,G,H,ONE,NINE,TWENTY,FIFTY,EIGHTY) :-
ONE is O * 100 + N * 10 + E,
NINE is N * 1000 + I * 100 + N * 10 + E,
TWENTY is T * 100000 + W * 10000 + E * 1000 + N * 100 + T * 10 + Y,
FIFTY is F * 10000 + I * 1000 + F * 100 + T * 10 + Y,
EIGHTY is E * 100000 + I * 10000 + G * 1000 + H * 100 + T * 10 + Y,
ONE >= 100, NINE >= 1000, TWENTY >= 100000, FIFTY >= 10000, EIGHTY >= 100000,
EIGHTY =:= ONE + NINE + TWENTY + FIFTY.
solve(ONE,NINE,TWENTY,FIFTY,EIGHTY) :-
selects([O,N,E,I,T,W,Y,F,G,H],[0,1,2,3,4,5,6,7,8,9]),
check(O,N,E,I,T,W,Y,F,G,H,ONE,NINE,TWENTY,FIFTY,EIGHTY).
?- solve(ONE,NINE,TWENTY,FIFTY,EIGHTY).
ONE = 984,
NINE = 8584,
TWENTY = 364832,
FIFTY = 75732,
EIGHTY = 450132 ;
false.

120 名前:デフォルトの名無しさん [2009/08/03(月) 13:24:34 ]
prologだっけ?


121 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 14:54:47 ]
Prologだよ
手続き書くのは面倒いが
覆面算とかはむしろこの言語の十八番だと思う

122 名前:デフォルトの名無しさん [2009/08/03(月) 15:29:28 ]
>>121
おすすめのProlog実装を教えてください。
あとおすすめの教科書もあれば。

123 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 15:48:44 ]
とりあえずはSWI-Prologで良いんじゃないかと
教科書は…Prologスレのテンプレに載ってるやつ片っ端読むのが良いんじゃない?
日本語で書かれてるやつだけ読んでもそれなりには解るかと

ちなみに今回のコードは「Prolog 覆面算」でググって出てきた
SEND+MORE=MONEYのコードを元にして改変したものだったりする
自分で書いたコードは遅すぎて話にならんかったw



124 名前:デフォルトの名無しさん [2009/08/03(月) 15:51:51 ]
metafontとかでも解けそうな気がするな。
くりあがりの処理がミソかしら。


125 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 20:24:40 ]
>>123
a+b+...+c=x の形になる任意の式を与えて
解いてもらうようにするにはどうすれば良いですか?

126 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:34:53 ]
>119 みたく答えになりうる値を全部列挙するワケにはいかないだろうから
モジュール使うほうが良いんじゃないかな

?- use_module(library('clp/bounds')).
?- 3 + X + 4 #= 19.
X = 12.

っていうか、Prologってこのスレで扱って良いものなのかな

127 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 07:35:13 ]
>>123
さんくすです。swi-prologをインストールして勉強することにします。

128 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 15:00:08 ]
>>126
他の言語よりも分かりやすく短く書けるのならそれはLL

129 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 15:04:26 ]
この手の問題だと、論理型が得意だったって事

130 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:16:06 ]
読めないからよく解らんのだが、119のコードって他言語に直訳できないの?

131 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:20:03 ]
アセンブリ

132 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:24:23 ]
119って式が変わったら毎回書き換えるしかないんかな

133 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:35:08 ]
>>130
つ ttp://miko.org/~naruto/Artifact/MASKSQL.html



134 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 17:31:52 ]
汎用性は無いだろうね
ただコード自体が式を列挙してるようなコード…つまり入力データみたいなコードだから
Prolog的には下手なことするより最適な方法かも知れん

135 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 19:06:45 ]
>>130
論理型言語を、そうでない言語に直訳
するのは基本的に無理。

論理型言語には、処理順序とかまったく
ないし、根拠となる条件式に基づいて
解を求めることしかできない。


136 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 19:09:31 ]
>>132
式を他の言語で解釈して、
ソースを機械生成すれば。


137 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 19:16:27 ]
>>135
じゃあロンリー型言語は?

138 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:37:13 ]
ロンリーロンリーロンリーロリー

139 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:51:06 ]
TOMOちゃんじゃないか!

140 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 23:09:17 ]
どっちにしろマシン語になるんだから、無理なわけないだろ。

141 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 23:14:19 ]
>>140
誰がそんな話をしたんだろうか
ある言語を使うってことは、その言語の制約内のことしかできないってことだと単純にわかるだろ

ここで話題に上がるような言語は、大概昔ラリーさんだかが言った、
「簡単な事は簡単に、難しいことは可能に」
って作られてるから、とりあえず何でも可能な気がするだけだ。

142 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 00:59:56 ]
どっちかっつーと、Prologは制御可能なフレームワークって感じ。

普通の言語は流れそのものを書くが、Prologの場合は
基本的な流れはProlog処理系が既に持ってて、ちょいと書くだけである程度勝手に動くものを
コードで制御してやると流れが変わって、複雑な動作ができる。

だから元々Prologが持ってる流れに近い動作は簡単に、遠い動作は面倒になるし
流れそのものが明快なものに対しては、それをそのまま書けば良い手続き型言語に対して
「既にある流れをどう変えればその流れになるか」と考えなくちゃいけないからしんどい。

143 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 02:45:30 ]
>>142
PrologはDSLの一種と使った方が良いと思う。
正規表現とかSQLとかの仲間。



144 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 09:19:46 ]
とはいってもPythonにprologモジュールが入ったりすることはないよね
広めたかったら他のプログラミング言語用のライブラリだ、って割りきっちゃったほうがいいのかな

145 名前:デフォルトの名無しさん [2009/08/06(木) 09:42:30 ]
On LispにLispで書かれたprologが載ってたな。
結構すくないコードで書かれてたよ







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

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

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