Prolog初心者のスレ
これは良い言語だ…
探検
【論理】Prolog【初心者】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2010/11/06(土) 13:00:56586デフォルトの名無しさん
2012/10/19(金) 10:04:01.70 >>585
代わりに「Prolog演習の課題を書き込みましょう」というスレを作ってみたが、
2日くらいでこれも削られた。聞くところによれば、今はテンプレの書かれていない
新スレは全部削られるらしい。スレたて荒らしの退治の余波で。
代わりに「Prolog演習の課題を書き込みましょう」というスレを作ってみたが、
2日くらいでこれも削られた。聞くところによれば、今はテンプレの書かれていない
新スレは全部削られるらしい。スレたて荒らしの退治の余波で。
587Prolog工作員
2012/10/19(金) 18:36:19.25 最近のSWI-Prologでは、アトムや関数名の中に改行が含まれても
構わないようだ。'\n'で表現する必要がなく、自然に改行できる。
http://nojiriko.asia/prolog/j72_387.html
http://nojiriko.asia/prolog/c160_246.html
の最初の述語のような定義が可能である。これでシングルクォートも
省ければすばらしいのだが。
構わないようだ。'\n'で表現する必要がなく、自然に改行できる。
http://nojiriko.asia/prolog/j72_387.html
http://nojiriko.asia/prolog/c160_246.html
の最初の述語のような定義が可能である。これでシングルクォートも
省ければすばらしいのだが。
588デフォルトの名無しさん
2012/10/19(金) 23:53:01.60 論文とか書く人ってどのProlog処理系使ってるのだろうか…
589デフォルトの名無しさん
2012/10/21(日) 17:48:15.67590デフォルトの名無しさん
2012/10/21(日) 21:04:53.19591デフォルトの名無しさん
2012/10/22(月) 08:29:19.82 「Prologでまったり」から始まりこのスレに至るProlog系スレは、他の
スレに較べて、圧倒的にソースコード掲載の比率が高かった。
この希少な伝統を守るべく、どしどしソースを上げようではないか。
スレに較べて、圧倒的にソースコード掲載の比率が高かった。
この希少な伝統を守るべく、どしどしソースを上げようではないか。
592デフォルトの名無しさん
2012/10/22(月) 08:59:03.59 「憲法改正」は総選挙の争点になるか
安倍さんは「強い日本」「美しい日本」にしたいということで、まずは憲法9条の改正を目指す。
総裁選も盛り上がり、自民党が一気に国民の期待を集めている。
勢いに乗る安倍晋三総裁は、次期衆院選で憲法改正を争点のひとつにする意向を示している。
詳細 2012/10/21
http://www.zakzak.co.jp/society/politics/news/20121021/plt1210210709000-n1.htm
安倍さんは「強い日本」「美しい日本」にしたいということで、まずは憲法9条の改正を目指す。
総裁選も盛り上がり、自民党が一気に国民の期待を集めている。
勢いに乗る安倍晋三総裁は、次期衆院選で憲法改正を争点のひとつにする意向を示している。
詳細 2012/10/21
http://www.zakzak.co.jp/society/politics/news/20121021/plt1210210709000-n1.htm
593デフォルトの名無しさん
2012/10/22(月) 09:00:20.64 zakzakの記事貼るぐらいならまだイカリソースのほうがよかった。
594デフォルトの名無しさん
2012/10/22(月) 09:54:47.36 >>592 % これを述語化しようと思ったが、結構難しく断念。 代わりに最近twitterに張ったものをここにも載せる。出典は空海の秘蔵宝鑰
暗生始 :- 生生生生.
冥生終 :- 死死死死.
暗生始(_) :- 生生生生(_).
冥生終(_) :- 死死死死(_).
暗生始 :- 生生生生.
冥生終 :- 死死死死.
暗生始(_) :- 生生生生(_).
冥生終(_) :- 死死死死(_).
595デフォルトの名無しさん
2012/10/22(月) 10:15:10.89 % これもtwitterに出したもの。バブルソート。カットが一ヶ所入るのが癪。
バブルソート(L1,L2) :-
軽い泡はちょっと浮き上がる(L1,L3),
泡が浮き上がったら最初からやり直す(L3,L2),!.
バブルソート(L,L) :-
浮き上がる泡がなくなったらバブルソート終了.
軽い泡はちょっと浮き上がる(L1,L3) :-
append(L0,[_重い泡,_軽い泡|R],L1),
_重い泡 @> _軽い泡,
append(L0,[_軽い泡,_重い泡|R],L3).
泡が浮き上がったら最初からやり直す(L3,L2) :-
バブルソート(L3,L2).
浮き上がる泡がなくなったらバブルソート終了.
バブルソート(L1,L2) :-
軽い泡はちょっと浮き上がる(L1,L3),
泡が浮き上がったら最初からやり直す(L3,L2),!.
バブルソート(L,L) :-
浮き上がる泡がなくなったらバブルソート終了.
軽い泡はちょっと浮き上がる(L1,L3) :-
append(L0,[_重い泡,_軽い泡|R],L1),
_重い泡 @> _軽い泡,
append(L0,[_軽い泡,_重い泡|R],L3).
泡が浮き上がったら最初からやり直す(L3,L2) :-
バブルソート(L3,L2).
浮き上がる泡がなくなったらバブルソート終了.
596595 書き直し
2012/10/22(月) 10:18:12.44バブルソート(L,L) :-
浮き上がる泡がなくなったらバブルソート終了.
軽い泡はちょっと浮き上がる(L1,L3) :-
append(L0,[_重い泡,_軽い泡|R],L1),
_重い泡 @> _軽い泡,
append(L0,[_軽い泡,_重い泡|R],L3).
泡が浮き上がったら最初からやり直す(L3,L2) :-
バブルソート(L3,L2).
浮き上がる泡がなくなったらバブルソート終了.
597デフォルトの名無しさん
2012/10/22(月) 10:33:43.08 最大公約数をユークリッドの互除法で求める(M,N,_最大公約数) :-
'MがNより小さい時はNとMを置換して実行する'(M,N,_最大公約数),!.
最大公約数をユークリッドの互除法で求める(M,N,_最大公約数) :-
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を
除数として割ることを繰り返す(M,N,_最大公約数).
'MがNより小さい時はNとMを置換して実行する'(M,N,_最大公約数) :-
M < N,
最大公約数をユークリッドの互除法で求める(N,M,_最大公約数).
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を除数とし
て割ることを繰り返す(_被除数,_除数,_最大公約数) :-
_剰余 is _被除数 mod _除数,
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰
り返す(_除数,_剰余,_最大公約数).
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰り返す(_
除数,0,_最大公約数) :-
割り切れたらその時の除数が最大公約数だ(_除数,_最大公約数),!.
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰り返す(_
除数,_剰余,_最大公約数) :-
'割り切れなかったら除数を被除数、剰余を除数に置き換えて計算を続ける'(_除
数,_剰余,_最大公約数).
割り切れたらその時の除数が最大公約数だ(_除数,_最大公約数) :-
_除数 = _最大公約数.
'割り切れなかったら除数を被除数、剰余を除数に置き換えて計算を続ける'(_除数,_剰余,
_最大公約数) :-
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を
除数として割ることを繰り返す(_除数,_剰余,_最大公約数).
'MがNより小さい時はNとMを置換して実行する'(M,N,_最大公約数),!.
最大公約数をユークリッドの互除法で求める(M,N,_最大公約数) :-
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を
除数として割ることを繰り返す(M,N,_最大公約数).
'MがNより小さい時はNとMを置換して実行する'(M,N,_最大公約数) :-
M < N,
最大公約数をユークリッドの互除法で求める(N,M,_最大公約数).
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を除数とし
て割ることを繰り返す(_被除数,_除数,_最大公約数) :-
_剰余 is _被除数 mod _除数,
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰
り返す(_除数,_剰余,_最大公約数).
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰り返す(_
除数,0,_最大公約数) :-
割り切れたらその時の除数が最大公約数だ(_除数,_最大公約数),!.
割り切れるまで除数だった数を被除数に剰余だった数を除数として割ることを繰り返す(_
除数,_剰余,_最大公約数) :-
'割り切れなかったら除数を被除数、剰余を除数に置き換えて計算を続ける'(_除
数,_剰余,_最大公約数).
割り切れたらその時の除数が最大公約数だ(_除数,_最大公約数) :-
_除数 = _最大公約数.
'割り切れなかったら除数を被除数、剰余を除数に置き換えて計算を続ける'(_除数,_剰余,
_最大公約数) :-
ユークリッドの互除法は割り切れるまで除数だった数を被除数に剰余だった数を
除数として割ることを繰り返す(_除数,_剰余,_最大公約数).
598デフォルトの名無しさん
2012/10/23(火) 04:01:29.74 昨日、「Prologの宿題片付けます」スレが第二編として復活しました。
http://toro.2ch.net/test/read.cgi/tech/1350893602/
出題-解答系はこちらに載せましょう。
http://toro.2ch.net/test/read.cgi/tech/1350893602/
出題-解答系はこちらに載せましょう。
599デフォルトの名無しさん
2012/10/23(火) 09:52:31.68 そういえば、「いろんな言語で宿題 第5編」スレもDat落ちしてしまった。
勝手は事実上のPrologスレといえるほど、肩入れしていたのだが最近は
さっぱりで、二ヶ月近くも書き込みがなかったせいか削除された。
「いろんな言語で宿題」スレの歴史はム板の中でも秀逸だと思うが。
勝手は事実上のPrologスレといえるほど、肩入れしていたのだが最近は
さっぱりで、二ヶ月近くも書き込みがなかったせいか削除された。
「いろんな言語で宿題」スレの歴史はム板の中でも秀逸だと思うが。
600デフォルトの名無しさん
2012/10/23(火) 10:40:52.30 そのスレはJのコードの量だけでもちょっと見ることができないものだった。
JはAPL後継で有名だが、ほとんど知られていない数式処理関係のプログラム言語の
コードがかなり掲載されて凄いスレだったことは間違いない。私どもProlog勢が
書き込み過ぎて、Prologスレと見られてHaskell等関数型の書き込みが少なかった
のが残念だったけど。
JはAPL後継で有名だが、ほとんど知られていない数式処理関係のプログラム言語の
コードがかなり掲載されて凄いスレだったことは間違いない。私どもProlog勢が
書き込み過ぎて、Prologスレと見られてHaskell等関数型の書き込みが少なかった
のが残念だったけど。
601デフォルトの名無しさん
2012/10/23(火) 10:52:07.55 いろんな言語で宿題 第五編
http://logstar.jp/toro.2ch.net/tech/1276873238/
http://logstar.jp/toro.2ch.net/tech/1276873238/
602デフォルトの名無しさん
2012/10/23(火) 11:14:19.57 マイナー言語がハッスルするスレですね。
603デフォルトの名無しさん
2012/10/23(火) 11:51:01.56 >>602
「いろんな言語で宿題」スレは、大変マニアックなと言っては失礼に当たるかも知れ
ない専門家が一人いて、5題に1題くらいの割ではあったが、次々と書き込んで
くださった。私は結局覚えなかったし、ほとんど分からなかったが、十分楽しんだ。
「いろんな言語で宿題」スレは、大変マニアックなと言っては失礼に当たるかも知れ
ない専門家が一人いて、5題に1題くらいの割ではあったが、次々と書き込んで
くださった。私は結局覚えなかったし、ほとんど分からなかったが、十分楽しんだ。
604デフォルトの名無しさん
2012/10/24(水) 15:22:58.60605デフォルトの名無しさん
2012/10/24(水) 15:43:33.97 間違いないことは、この3年間に、最もプログラムがリンクを張るのでなく
直接2chに書き込まれたプログラム言語はPrologだということ。それも
圧倒的に。それではなぜ書き込むことができたかが、重要な点なのだが。
直接2chに書き込まれたプログラム言語はPrologだということ。それも
圧倒的に。それではなぜ書き込むことができたかが、重要な点なのだが。
606デフォルトの名無しさん
2012/11/04(日) 16:04:59.78 三交代の当直表を作るときなんかは便利そうなのになぁ。縦横の
条件と初期条件を満たす解を探すのなんて数独と同じだよね。
それとクリティカルパスを考えるときに、データ構造を網構造として手続き型で
処理するか、ガッサリPrologエンジンに任せるか。まだメモリ8GB程度じゃ
遅いのかねぇ?
条件と初期条件を満たす解を探すのなんて数独と同じだよね。
それとクリティカルパスを考えるときに、データ構造を網構造として手続き型で
処理するか、ガッサリPrologエンジンに任せるか。まだメモリ8GB程度じゃ
遅いのかねぇ?
607デフォルトの名無しさん
2012/11/09(金) 21:14:46.06 今でも結構人気なんですね。SchemeやGoよりGitHub利用が多い。
http://jp.techcrunch.com/archives/20120912javascript-tops-latest-programming-language-popularity-ranking-from-redmonk/
http://jp.techcrunch.com/archives/20120912javascript-tops-latest-programming-language-popularity-ranking-from-redmonk/
608デフォルトの名無しさん
2012/11/10(土) 11:41:57.60609デフォルトの名無しさん
2012/11/10(土) 18:20:35.78 モノ珍しいので一度は触ってみるという意味での人気であって、業務で使っているとは思えない
610デフォルトの名無しさん
2012/11/11(日) 05:08:35.66 >>609
日本の場合、大学に100以上の講座があって、それを受講したら
お終いなので物珍しいからに近い。あちらでは、日本でSQL枠と
されている就職口が論理という枠になっていて権威もある。論理
枠の中でPrologは一定の地位を占めていて、想像以上に実務でも
使われている。
日本の場合、大学に100以上の講座があって、それを受講したら
お終いなので物珍しいからに近い。あちらでは、日本でSQL枠と
されている就職口が論理という枠になっていて権威もある。論理
枠の中でPrologは一定の地位を占めていて、想像以上に実務でも
使われている。
611デフォルトの名無しさん
2012/11/11(日) 05:34:52.19 只々類似パターンの再帰の繰り返しのPrologがStackoverflowで質問数が
すくないことはよくわかる。ところが何故、まったくライブラリ指向でない
言語の代表のPrologがGitHubに結構upされているのだろうか。
すくないことはよくわかる。ところが何故、まったくライブラリ指向でない
言語の代表のPrologがGitHubに結構upされているのだろうか。
612デフォルトの名無しさん
2012/11/11(日) 05:58:11.84 GitHubの誤判定ではないだろうか
例えばhttps://github.com/languages/PrologのMost Starred Overallの
上位5つのリポジトリを見てみると、
https://github.com/onyxfish/csvkit
https://github.com/vangelisv/thea
https://github.com/reprappro/Mendel
https://github.com/Attempto/APE
https://github.com/leaflabs/oak
このうち実際にPrologを使っているのはtheaとAPEの2つに見える
例えばhttps://github.com/languages/PrologのMost Starred Overallの
上位5つのリポジトリを見てみると、
https://github.com/onyxfish/csvkit
https://github.com/vangelisv/thea
https://github.com/reprappro/Mendel
https://github.com/Attempto/APE
https://github.com/leaflabs/oak
このうち実際にPrologを使っているのはtheaとAPEの2つに見える
613デフォルトの名無しさん
2012/11/11(日) 13:01:59.07 ワロタ
拡張子plをPrologプログラムと勘違いしてるらしい。
https://github.com/onyxfish/csvkit/blob/master/examples/realdata/census_2010/ilgeo2010_excerpt.pl
拡張子txtの言語作ればGitHub一位まちがいなし!
ちなみに607です…
拡張子plをPrologプログラムと勘違いしてるらしい。
https://github.com/onyxfish/csvkit/blob/master/examples/realdata/census_2010/ilgeo2010_excerpt.pl
拡張子txtの言語作ればGitHub一位まちがいなし!
ちなみに607です…
614デフォルトの名無しさん
2012/11/11(日) 15:36:43.35 拡張子plはPerlじゃないし、GHCはHaskellのコンパイラじゃないのは世界の常識
615デフォルトの名無しさん
2012/11/11(日) 16:12:53.88 前者はともかく後者はもう日本国内ですら通じないだろ……
616デフォルトの名無しさん
2012/11/11(日) 17:19:10.25 ここ:-を,どこだと|思って,るんだ!.
617デフォルトの名無しさん
2012/11/11(日) 18:07:12.48 ソースに使われてる言語の判定にはこれ使ってるっぽいね
https://github.com/github/linguist
Perl製と判定されたソフトの8割が実はProlog製だった可能性が出てきたな……
https://github.com/github/linguist
Perl製と判定されたソフトの8割が実はProlog製だった可能性が出てきたな……
618デフォルトの名無しさん
2012/11/14(水) 22:28:53.31 あるあ・・・ねーよ
619デフォルトの名無しさん
2012/11/18(日) 03:03:49.27 連番のエロ画像をダウンロードするスクリプトください
620デフォルトの名無しさん
2012/11/18(日) 19:47:08.62621デフォルトの名無しさん
2012/11/23(金) 19:45:54.79 >>619
エロかどうかの画像解析も必要?
エロかどうかの画像解析も必要?
622デフォルトの名無しさん
2012/11/24(土) 01:11:45.59 必須
623デフォルトの名無しさん
2013/01/30(水) 14:34:59.52 Prologの実装がいろいろあるけど
_ が任意にマッチするものと
_.1 _.2 みたいにマッチする部分集合をわけるものがあるみたいですね
それぞれの方式に名前がついてたりするのでしょうか
_ が任意にマッチするものと
_.1 _.2 みたいにマッチする部分集合をわけるものがあるみたいですね
それぞれの方式に名前がついてたりするのでしょうか
624デフォルトの名無しさん
2013/02/01(金) 08:26:29.05625デフォルトの名無しさん
2013/02/03(日) 16:44:21.38 miniKanren
cKanren
という処理系です
cKanren
という処理系です
626デフォルトの名無しさん
2013/02/03(日) 19:55:52.08 _1 は知ってるけど _.1 は知らない
627デフォルトの名無しさん
2013/02/16(土) 23:41:31.81 日常の諸問題の解決にPrologを使っている人はいる?
628デフォルトの名無しさん
2013/02/16(土) 23:57:59.44629デフォルトの名無しさん
2013/02/17(日) 00:01:25.81 過疎スレでこんなに早くレスをもらえるとは思いませんでした。
head形式とはどういうものですか?
head形式とはどういうものですか?
630デフォルトの名無しさん
2013/02/17(日) 00:22:14.39 meisi(山田, xxx-xxxx, 東京都○○○○, 080-xxxx, 080-xxxx, ○○社, ○○課, 201301xx, 飲み会).
memo(201302xx, 隕石落ちた).
todo(201302xx, [郵便とりに行く, 印鑑確認する, 製本する, 連絡する, 掃除する, メールする/12]).
みたいなのをジャンル分けずにどんどん同じファイルにアペンド
今40000タプルくらいある
memo(201302xx, 隕石落ちた).
todo(201302xx, [郵便とりに行く, 印鑑確認する, 製本する, 連絡する, 掃除する, メールする/12]).
みたいなのをジャンル分けずにどんどん同じファイルにアペンド
今40000タプルくらいある
631デフォルトの名無しさん
2013/02/17(日) 00:32:15.91 (・∀・)イイ!
実生活でPrologが役立っている例を始めて見ました
実生活でPrologが役立っている例を始めて見ました
私は社内IRCに
?- ... と打ち込むと謹製Prologが答えてくれるボット投入してます
誰も使ってないけど
?- ... と打ち込むと謹製Prologが答えてくれるボット投入してます
誰も使ってないけど
633デフォルトの名無しさん
2013/02/17(日) 13:26:35.69 昔Java版のprologが出たときに大学の演習で作ったルールベースシステムをアプレットに移植して人工知能の会話システムを作ったけど、大して身のあるシステムにはならなかった
634デフォルトの名無しさん
2013/02/17(日) 15:09:00.03 Prologは初等教育に組み込むべきですね。プログラム言語としてではなく、
情報・知識の記述形式として。
情報・知識の記述形式として。
635デフォルトの名無しさん
2013/02/22(金) 17:22:47.00 初心者ですので初歩的な質問をさせていただきます。よろしくお願いします。
prologで単純な迷路を説くのは簡単ですが、縦横につながった升目(または碁石など)の数を数えるプログラムに難渋しています。
他の言語に習って、5個つながっているかどうかを、
heisa1(5,_,_,_,_,_,_,_):-!.
heisa1(N,W,H,X,Y,Field,L0,L):-
getv(W,H,X,Y,Field,V)
,(var(V)->((not(member((X,Y),L))->(adde((X,Y),L,L1),N1 is N+1);(N1=N,L1=L))
,(X<W->(X1 is X+1,heisa1(N1,W,H,X1,Y,Field,L0,L1)))
,(Y<H->(Y1 is Y+1,heisa1(N1,W,H,X,Y1,Field,L0,L1)))
,(X>1->(X1 is X-1,heisa1(N1,W,H,X1,Y,Field,L0,L1)))
,(Y>1->(Y1 is Y-1,heisa1(N1,W,H,X,Y1,Field,L0,L1))))).
のような書き方で、細部をいろいろ工夫しても、無駄なバックトラックが起こってうまくいきません。
どのように書けばよいのでしょうか。ご教示いただければ幸です。
prologで単純な迷路を説くのは簡単ですが、縦横につながった升目(または碁石など)の数を数えるプログラムに難渋しています。
他の言語に習って、5個つながっているかどうかを、
heisa1(5,_,_,_,_,_,_,_):-!.
heisa1(N,W,H,X,Y,Field,L0,L):-
getv(W,H,X,Y,Field,V)
,(var(V)->((not(member((X,Y),L))->(adde((X,Y),L,L1),N1 is N+1);(N1=N,L1=L))
,(X<W->(X1 is X+1,heisa1(N1,W,H,X1,Y,Field,L0,L1)))
,(Y<H->(Y1 is Y+1,heisa1(N1,W,H,X,Y1,Field,L0,L1)))
,(X>1->(X1 is X-1,heisa1(N1,W,H,X1,Y,Field,L0,L1)))
,(Y>1->(Y1 is Y-1,heisa1(N1,W,H,X,Y1,Field,L0,L1))))).
のような書き方で、細部をいろいろ工夫しても、無駄なバックトラックが起こってうまくいきません。
どのように書けばよいのでしょうか。ご教示いただければ幸です。
636デフォルトの名無しさん
2013/02/22(金) 17:25:15.99 >>635
ちなみに、私は切羽詰って、
heisa(0,_,_,_,_,EL,EL):-!.
heisa(_,_,_,_,[],EL,EL):-fail,!.
heisa(N,W,H,Field,[Pos|Re],EL,EL2):-
search(N,W,H,Field,[(1,0),(0,1),(-1,0),(0,-1)]
,Pos,Re,AL,EL),adde(Pos,EL,EL1)
,N1 is N-1,heisa(N1,W,H,Field,AL,EL1,EL2).
search(_,_,_,_,[],_,AL,AL,_):-!.
search(N,W,H,Field,[XY|Re],Pos,AL,AL2,EL):-
(X,Y)=Pos,(X1,Y1)=XY,X2 is X+X1,Y2 is Y+Y1
,getv(W,H,X2,Y2,Field,V)
,((nonvar(V);member((X2,Y2),AL);member((X2,Y2),EL))->AL1=AL;adde((X2,Y2),AL,AL1))
,search(N,W,H,Field,Re,Pos,AL1,AL2,EL).
getv(W,H,X,Y,Field,V):-(X>0,Y>0,X=<W,Y=<H)->(Co is (X+(Y-1)*W),arg(Co,Field,V));V=k.
のような形で実現しましたが、汎用的でないようですし、境界条件があとにきているのが気にいりません。
ちなみに、私は切羽詰って、
heisa(0,_,_,_,_,EL,EL):-!.
heisa(_,_,_,_,[],EL,EL):-fail,!.
heisa(N,W,H,Field,[Pos|Re],EL,EL2):-
search(N,W,H,Field,[(1,0),(0,1),(-1,0),(0,-1)]
,Pos,Re,AL,EL),adde(Pos,EL,EL1)
,N1 is N-1,heisa(N1,W,H,Field,AL,EL1,EL2).
search(_,_,_,_,[],_,AL,AL,_):-!.
search(N,W,H,Field,[XY|Re],Pos,AL,AL2,EL):-
(X,Y)=Pos,(X1,Y1)=XY,X2 is X+X1,Y2 is Y+Y1
,getv(W,H,X2,Y2,Field,V)
,((nonvar(V);member((X2,Y2),AL);member((X2,Y2),EL))->AL1=AL;adde((X2,Y2),AL,AL1))
,search(N,W,H,Field,Re,Pos,AL1,AL2,EL).
getv(W,H,X,Y,Field,V):-(X>0,Y>0,X=<W,Y=<H)->(Co is (X+(Y-1)*W),arg(Co,Field,V));V=k.
のような形で実現しましたが、汎用的でないようですし、境界条件があとにきているのが気にいりません。
637デフォルトの名無しさん
2013/02/22(金) 18:46:22.89 % 全然仕上がってないけど、凡そ以下のようなコードとなるはず。
連続している(_色,X1,Y1,X2,Y2) :- 隣接した石がある(_色,X1,Y1,X2,Y2).
連続している(_色,X1,Y1,X2,Y2) :-
隣接した石がある(_色,X1,Y1,X3,Y3),
連続している(_色,X3,Y3,X2,Y2).
隣接した石がある(_色,X1,Y1,X2,Y2) :-
隣接(X1,Y1,X2,Y2),
石(_色,X2,Y2).
隣接(X,Y1,X,Y2) :- 上に隣接(Y1,Y2).
隣接(X,Y1,X,Y2) :- 下に隣接(Y1,Y2).
隣接(X1,Y,X2,Y) :- 右に隣接(X1,X2).
隣接(X1,Y,X2,Y) :- 左に隣接(X1,X2).
上に隣接(Y1,Y2) :- length(L1,Y1),length([_|L1],Y2).
下に隣接(Y1,Y2) :-length(L1,Y1),[_|L2]=L1,\+(L2 = []),length(L2,Y2).
右に隣接(X1,X2) :- length(L1,X1),length([_|L1],X2).
左に隣接(X1,X2) :- length(L1,X1),[_|L2]=L1,\+(L2 = []),length(L2,X2).
連続している(_色,X1,Y1,X2,Y2) :- 隣接した石がある(_色,X1,Y1,X2,Y2).
連続している(_色,X1,Y1,X2,Y2) :-
隣接した石がある(_色,X1,Y1,X3,Y3),
連続している(_色,X3,Y3,X2,Y2).
隣接した石がある(_色,X1,Y1,X2,Y2) :-
隣接(X1,Y1,X2,Y2),
石(_色,X2,Y2).
隣接(X,Y1,X,Y2) :- 上に隣接(Y1,Y2).
隣接(X,Y1,X,Y2) :- 下に隣接(Y1,Y2).
隣接(X1,Y,X2,Y) :- 右に隣接(X1,X2).
隣接(X1,Y,X2,Y) :- 左に隣接(X1,X2).
上に隣接(Y1,Y2) :- length(L1,Y1),length([_|L1],Y2).
下に隣接(Y1,Y2) :-length(L1,Y1),[_|L2]=L1,\+(L2 = []),length(L2,Y2).
右に隣接(X1,X2) :- length(L1,X1),length([_|L1],X2).
左に隣接(X1,X2) :- length(L1,X1),[_|L2]=L1,\+(L2 = []),length(L2,X2).
638デフォルトの名無しさん
2013/02/22(金) 18:57:40.84 升目の数を数える問題ですか。問題をよく読んでいなかった。それだと
バックトラックするとダメなので、再帰で書き直す必要がありますね。
ずっと難しくなりますね。
それから、算数が嫌いなのでY2 is Y1 + 1,を複雑なリスト処理で書きましたが、
単純な算術でもちろん大丈夫です。
バックトラックするとダメなので、再帰で書き直す必要がありますね。
ずっと難しくなりますね。
それから、算数が嫌いなのでY2 is Y1 + 1,を複雑なリスト処理で書きましたが、
単純な算術でもちろん大丈夫です。
639デフォルトの名無しさん
2013/02/22(金) 19:16:47.42640デフォルトの名無しさん
2013/02/22(金) 20:06:38.13 >>634
今、ラッセルやウィトゲンシュタインみたいな分析哲学に凝っているんだけど、
知識の記述に述語論理を使うという前提を共有しているのに、
人工言語派vs.日常言語派みたいな分裂が続くあたり、
何ともいえない不思議さを感じる。
今、ラッセルやウィトゲンシュタインみたいな分析哲学に凝っているんだけど、
知識の記述に述語論理を使うという前提を共有しているのに、
人工言語派vs.日常言語派みたいな分裂が続くあたり、
何ともいえない不思議さを感じる。
641デフォルトの名無しさん
2013/02/22(金) 20:35:52.78 東アジアの農民は、10000年もゆったりした言語で特に深刻に悩むでもなく、
自然と共存したり、痛い目に遭わされながらつぶやいてきた。その延長の言語で
あってよいから、もう少しだけ自分が生きた証しをくっきりとできればいい。
言語に内在するほんの少しの論理性の助けを借りて。だから論理プログラミング。
その程度の論理プログラミング。
自然と共存したり、痛い目に遭わされながらつぶやいてきた。その延長の言語で
あってよいから、もう少しだけ自分が生きた証しをくっきりとできればいい。
言語に内在するほんの少しの論理性の助けを借りて。だから論理プログラミング。
その程度の論理プログラミング。
642デフォルトの名無しさん
2013/02/23(土) 16:24:36.29 論理性の無い文章だなぁ
643デフォルトの名無しさん
2013/03/08(金) 23:47:28.33 Prologでシークエント計算できますか?
644デフォルトの名無しさん
2013/03/09(土) 14:22:50.10 できるけど、50行くらいプログラミングが必要
645デフォルトの名無しさん
2013/03/19(火) 05:22:51.00 wa(you, shock).
646デフォルトの名無しさん
2013/03/20(水) 14:52:27.58 prologのバックトラックを使って
深さ優先探索のミニマックス戦略のプログラムを作れますか。
やむをえなければassert,retractを使ってもかまいません。
幅優先探索ならできるのですが。
深さ優先探索のミニマックス戦略のプログラムを作れますか。
やむをえなければassert,retractを使ってもかまいません。
幅優先探索ならできるのですが。
647デフォルトの名無しさん
2013/03/20(水) 17:44:36.54 >>646
こんな定義になると思う。未定義の部分が多いけれどそのうちに書く。
n手先を評価する(_n,_局面1,_着手ならび,_評価点,_局面) :-
length(Ln,_n),
手を読む(Ln,自分,_局面,[],[],_着手ならび,_評価点,_局面).
手を読む([],_,_局面,_着手ならび,_評価ならび,_着手ならび,_評価点,_局面) :-
sum(_評価ならび,_評価点),!.
手を読む([_|Ln],自分,_局面1,_着手ならび1,_評価ならび1,_着手ならび,_評価点,_局面) :-
findmax([_評価,_着手,_局面2],(
着手(_局面1,_局面2,_着手,評価)),
[_評価,_着手,_局面2]),
手を読む(Ln,相手,_局面2,[_着手|_着手ならび1],[_評価|_評価ならび1],_着手ならび,_評価点,_局面).
手を読む([_|Ln],相手,_局面1,_着手ならび1,_評価ならび1,_着手ならび,_評価点,_局面) :-
findmin([_評価,_着手,_局面2],(
着手(_局面1,_局面2,_着手,評価)),
[_評価,_着手,_局面2]),
手を読む(Ln,自分,_局面2,[_着手|_着手ならび1],[_評価|_評価ならび1],_着手ならび,_評価点,_局面).
着手(_局面1,_局面2,_着手,_評価) :-
着手の選択(_局面1,_局面2,_着手),
局面の評価(_局面2,_評価).
こんな定義になると思う。未定義の部分が多いけれどそのうちに書く。
n手先を評価する(_n,_局面1,_着手ならび,_評価点,_局面) :-
length(Ln,_n),
手を読む(Ln,自分,_局面,[],[],_着手ならび,_評価点,_局面).
手を読む([],_,_局面,_着手ならび,_評価ならび,_着手ならび,_評価点,_局面) :-
sum(_評価ならび,_評価点),!.
手を読む([_|Ln],自分,_局面1,_着手ならび1,_評価ならび1,_着手ならび,_評価点,_局面) :-
findmax([_評価,_着手,_局面2],(
着手(_局面1,_局面2,_着手,評価)),
[_評価,_着手,_局面2]),
手を読む(Ln,相手,_局面2,[_着手|_着手ならび1],[_評価|_評価ならび1],_着手ならび,_評価点,_局面).
手を読む([_|Ln],相手,_局面1,_着手ならび1,_評価ならび1,_着手ならび,_評価点,_局面) :-
findmin([_評価,_着手,_局面2],(
着手(_局面1,_局面2,_着手,評価)),
[_評価,_着手,_局面2]),
手を読む(Ln,自分,_局面2,[_着手|_着手ならび1],[_評価|_評価ならび1],_着手ならび,_評価点,_局面).
着手(_局面1,_局面2,_着手,_評価) :-
着手の選択(_局面1,_局面2,_着手),
局面の評価(_局面2,_評価).
648647
2013/03/20(水) 18:04:57.94 そうか。
これだと、最善手をn手続けてみただけか。
一手目を非決定性に着手してn手先まで最善手で読ませて、すべての着手を
評価して、評価点がもっとも高い着手を選ぶようにしないといけないか。
これだと、最善手をn手続けてみただけか。
一手目を非決定性に着手してn手先まで最善手で読ませて、すべての着手を
評価して、評価点がもっとも高い着手を選ぶようにしないといけないか。
649デフォルトの名無しさん
2013/03/20(水) 18:25:18.12 >>647,648
深さ優先ですから、とりあえずある道筋で、最終局面まで行き、
そこで評価点を決め、それをひとつ下のレベルに下ろしておいて、
また別の最終局面に行って評価点を求め、其れを先ほどの値と比較し、
最終局面がなくなったら更に一つ下のレベルと比較......
のようなことを繰り返し、次第にレベルを下げていくことになるはずですが、
バックトラックをうまく制御できません。
深さ優先ですから、とりあえずある道筋で、最終局面まで行き、
そこで評価点を決め、それをひとつ下のレベルに下ろしておいて、
また別の最終局面に行って評価点を求め、其れを先ほどの値と比較し、
最終局面がなくなったら更に一つ下のレベルと比較......
のようなことを繰り返し、次第にレベルを下げていくことになるはずですが、
バックトラックをうまく制御できません。
650647
2013/03/20(水) 18:45:14.17 >>649
深さ優先といっても株は全部評価しないとどれが最高評価点かが
分かりません。それで最高点-最低点-最高点...と降りていって、
葉までたどり着いたら(つまりn手先)一つ候補が決まる。次善候補を
葉のレベルの次の評価点の候補着手とするという意味ですか?
深さ優先といっても株は全部評価しないとどれが最高評価点かが
分かりません。それで最高点-最低点-最高点...と降りていって、
葉までたどり着いたら(つまりn手先)一つ候補が決まる。次善候補を
葉のレベルの次の評価点の候補着手とするという意味ですか?
651デフォルトの名無しさん
2013/03/20(水) 19:12:35.16 >>650
理屈からいうと、N手目の局面で評価するとすると、
あるN-1手目から派生するN手目の評価点を全て比較して、
其れをN-1手目の評価点とし、同様にあるN-2手目から派生する
全てのN-1手目について評価点を決めて其れを比較して
N-2手目の評価点として........というように、
だんだん一手目まで戻っていきます。
(もちろんmini とmax交互に)
これを、同じレベルの評価をfindall等を使っていっぺんに行うと
幅優先になり、行ったりきたりして評価すると深さ優先になります。
1->N->N-1->N->N-1->N->N-1->N-2->N-1->N->N-1->N->N-1->N-2........
というような感じだと思います。.
理屈からいうと、N手目の局面で評価するとすると、
あるN-1手目から派生するN手目の評価点を全て比較して、
其れをN-1手目の評価点とし、同様にあるN-2手目から派生する
全てのN-1手目について評価点を決めて其れを比較して
N-2手目の評価点として........というように、
だんだん一手目まで戻っていきます。
(もちろんmini とmax交互に)
これを、同じレベルの評価をfindall等を使っていっぺんに行うと
幅優先になり、行ったりきたりして評価すると深さ優先になります。
1->N->N-1->N->N-1->N->N-1->N-2->N-1->N->N-1->N->N-1->N-2........
というような感じだと思います。.
652デフォルトの名無しさん
2013/03/20(水) 21:31:55.30653デフォルトの名無しさん
2013/03/20(水) 23:01:45.80654デフォルトの名無しさん
2013/03/21(木) 00:23:36.01 >>653
何か間違っていますね。 ! を削りましょう。そうすると、
着手候補の取り出し(_枝切り,_評価_着手_局面ならび_2,_評価,_着手,_局面2) :-
length(L0,_枝切り),
append(L0,_,_評価_着手_局面ならび_2),
member([_評価,_着手,_局面2],L0).
の最後memberが働いて、全解を取り出せると思います。
3手先読みの最善手は -> 次の可能な全ての手を評価して整列 ->
探索範囲を狭めるため枝切り -> 最も評価の高い手を選択 ->
相手の立場から最も評価高い手を選択 ->
その局面で全ての可能な着手を評価し -> 整列して枝切り ->
これで第一解が得られる
バックトラックすると、
3手先読みの整列枝切り後も member/2 の次の候補が取り出されて第二解。
findmax で次々呼び出されて、最高評価点を探す。
何か間違っていますね。 ! を削りましょう。そうすると、
着手候補の取り出し(_枝切り,_評価_着手_局面ならび_2,_評価,_着手,_局面2) :-
length(L0,_枝切り),
append(L0,_,_評価_着手_局面ならび_2),
member([_評価,_着手,_局面2],L0).
の最後memberが働いて、全解を取り出せると思います。
3手先読みの最善手は -> 次の可能な全ての手を評価して整列 ->
探索範囲を狭めるため枝切り -> 最も評価の高い手を選択 ->
相手の立場から最も評価高い手を選択 ->
その局面で全ての可能な着手を評価し -> 整列して枝切り ->
これで第一解が得られる
バックトラックすると、
3手先読みの整列枝切り後も member/2 の次の候補が取り出されて第二解。
findmax で次々呼び出されて、最高評価点を探す。
655デフォルトの名無しさん
2013/03/21(木) 00:55:51.96656デフォルトの名無しさん
2013/03/21(木) 01:29:24.35 その人、悪い人じゃないんだけど、ちょっとおかしいところあるから、あまり関わらないほうがいいよ。
657デフォルトの名無しさん
2013/03/21(木) 06:29:01.79 >>655
Wikipedia の幅優先の項のグラフを借用して説明します。
http://ja.wikipedia.org/wiki/%E5%B9%85%E5%84%AA%E5%85%88%E6%8E%A2%E7%B4%A2
1
2 3 4
5 6 7 8
9 10 11 12
プログラムでは、着手評価が唯一の実効のある作用なので、着手評価によって
横方向の優先順位を決めることが幅優先に見えることは仕方ない。
[2,3,4],[5,6],[7,8],[11,12]の順序は実は動的に決められます。
しかし、実際の手の読む順序は
1 - 2 - 5 - 9 が第一解
1 - 2 - 5 - 10 が第二解
1 - 2 - 6 が第三解
のように、このノードが先に優先して評価されていきます。2-5-9,10を評価して
いる時には7,8,11,12などは置いてきぼりの状態にあります。
これは幅優先ではありません。
Wikipedia の幅優先の項のグラフを借用して説明します。
http://ja.wikipedia.org/wiki/%E5%B9%85%E5%84%AA%E5%85%88%E6%8E%A2%E7%B4%A2
1
2 3 4
5 6 7 8
9 10 11 12
プログラムでは、着手評価が唯一の実効のある作用なので、着手評価によって
横方向の優先順位を決めることが幅優先に見えることは仕方ない。
[2,3,4],[5,6],[7,8],[11,12]の順序は実は動的に決められます。
しかし、実際の手の読む順序は
1 - 2 - 5 - 9 が第一解
1 - 2 - 5 - 10 が第二解
1 - 2 - 6 が第三解
のように、このノードが先に優先して評価されていきます。2-5-9,10を評価して
いる時には7,8,11,12などは置いてきぼりの状態にあります。
これは幅優先ではありません。
658657
2013/03/21(木) 06:31:38.99 実際の手の読まれる順序 ですね。
659デフォルトの名無しさん
2013/03/21(木) 10:44:06.29660デフォルトの名無しさん
2013/03/21(木) 21:35:47.92 大学で習ったから家でもやろうかと思い立ったが、やっぱり個人で無料の場合はswi-prologなのだろうか
ちなみに大学は有料の処理系つかってたみたい
ちなみに大学は有料の処理系つかってたみたい
661デフォルトの名無しさん
2013/03/21(木) 23:37:50.17 教官とそのソフトの業者がつるんでるんだろうな。
でなきゃ、Prologとして十分な機能を備えているswi-prologを避ける理由が分からん。
でなきゃ、Prologとして十分な機能を備えているswi-prologを避ける理由が分からん。
662デフォルトの名無しさん
2013/03/22(金) 07:06:47.14663デフォルトの名無しさん
2013/04/02(火) 13:57:47.80 macでgnu prologやってみたいのですが、「gprolog-1.4.3.tar.gz.」をダウンロードしてからが
分かりません、どなたか教えていただけませんか
分かりません、どなたか教えていただけませんか
664デフォルトの名無しさん
2013/04/02(火) 21:34:37.35 GNU is Need Unix
665デフォルトの名無しさん
2013/04/03(水) 01:00:09.38 >663
まさか解凍できないという話ではないでしょうね
まさか解凍できないという話ではないでしょうね
666デフォルトの名無しさん
2013/04/03(水) 01:09:29.27 xcodeとコマンドラインツールズとhomebrewもいれららない世の中じゃ、ポイズン。
667デフォルトの名無しさん
2013/04/03(水) 21:02:14.22 ははあ、LC475かな。FPUというのがあってですね。
668デフォルトの名無しさん
2013/04/03(水) 22:00:36.89 Macportもどうぞ
669デフォルトの名無しさん
2013/05/18(土) 18:33:05.23 【論理力テスト】次の文章は正しいようで実は論理的に間違っています。どこがどうおかしいか貴方は説明できますか→「何度学校を変わってもいじめられるのは、いじめられる側に原因がある証拠だ」…答えは「感情自己責任論」で検索
670デフォルトの名無しさん
2013/05/18(土) 21:27:03.74 >>669
検索したが分からなかった。
あなた説明して。
∀Student[∀School{bullied(Student,School)→caused(Student)}]
全ての生徒について、その生徒があらゆる学校で虐められるならばその生徒に原因がある。
もしかして、反証可能な命題の提示ではあるが論理的な証明ではないとか言えば良い?
検索したが分からなかった。
あなた説明して。
∀Student[∀School{bullied(Student,School)→caused(Student)}]
全ての生徒について、その生徒があらゆる学校で虐められるならばその生徒に原因がある。
もしかして、反証可能な命題の提示ではあるが論理的な証明ではないとか言えば良い?
671670
2013/05/18(土) 21:45:08.12 違うか。
> ∀Student[∀School{bullied(Student,School)→caused(Student)}]
> 全ての生徒について、その生徒があらゆる学校で虐められるならばその生徒に原因がある。
∀Student[∀School{(enroll(Student,School)∧bullied(Student,School))→caused(Student)}]
全ての生徒について、その生徒が在学したあらゆる学校で虐められるならばその生徒に原因がある。
> ∀Student[∀School{bullied(Student,School)→caused(Student)}]
> 全ての生徒について、その生徒があらゆる学校で虐められるならばその生徒に原因がある。
∀Student[∀School{(enroll(Student,School)∧bullied(Student,School))→caused(Student)}]
全ての生徒について、その生徒が在学したあらゆる学校で虐められるならばその生徒に原因がある。
672デフォルトの名無しさん
2013/05/19(日) 13:06:01.33 SWI-Prologって64bit版が出ていたのですね。
知らなかったが,Windows 7の64bit版に
今日インストールして使いはじめました。
気のせいか,処理速度がすこし速くなったよう
に思います。
知らなかったが,Windows 7の64bit版に
今日インストールして使いはじめました。
気のせいか,処理速度がすこし速くなったよう
に思います。
673デフォルトの名無しさん
2013/05/19(日) 20:15:05.45 Bratko さんの Prolog 本(新版)の日本語版はでないのでしょうか
…原書の自炊ミスって単語一個分余計に切り落してしまい絶望中
…原書の自炊ミスって単語一個分余計に切り落してしまい絶望中
674デフォルトの名無しさん
2013/05/20(月) 23:47:35.64 SWI-Prologの64bit版をインストールしたのだけれど
SWI-Prolog-Editorと相性が悪いらしく,
configurationのProlog folderに64bit版のフォルダーを
していして,プログラムを書いてconsult.を押しても,
prologプログラムが見当たらないというエラーメッセージ
がでる。
しかたがないので,32bit版もインストールしてそちら
のホルダーを指定して使っている。
64bit版でSWI-Prolog-Editorを同期して使っている方
が居られましたら,どうすべきかご教授いただけると
ありがたいです。
SWI-Prolog-Editorと相性が悪いらしく,
configurationのProlog folderに64bit版のフォルダーを
していして,プログラムを書いてconsult.を押しても,
prologプログラムが見当たらないというエラーメッセージ
がでる。
しかたがないので,32bit版もインストールしてそちら
のホルダーを指定して使っている。
64bit版でSWI-Prolog-Editorを同期して使っている方
が居られましたら,どうすべきかご教授いただけると
ありがたいです。
675デフォルトの名無しさん
2013/06/14(金) 12:50:56.41 prologで作られたアプリケーションやライブラリのリンク集みたいなものはないのでしょうか
prologで型推論エンジンつくろうと思ってるのですが
多分だれか既に作った人いないわけないので
どこかで公開していないかと
prologで型推論エンジンつくろうと思ってるのですが
多分だれか既に作った人いないわけないので
どこかで公開していないかと
676デフォルトの名無しさん
2013/06/15(土) 00:25:36.27 arXivで検索検索
677デフォルトの名無しさん
2013/06/17(月) 19:15:02.01678デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN 量子コンピュータが実用化されたら Prolog 大活躍するん?
679デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN >>678
むしろPrologが必要なくなる方向を予想する
むしろPrologが必要なくなる方向を予想する
680デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN681デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN >>680
というか、すべての計算を探索に還元するんだから、わざわざPrologで設計する必要がないというか
というか、すべての計算を探索に還元するんだから、わざわざPrologで設計する必要がないというか
682デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN683デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN 量子コンピュータが実現しても、KL/1でやってることががprologのコードで書けるようになるというイメージしかない
684デフォルトの名無しさん
2013/07/05(金) NY:AN:NY.AN Prologがやるべきことは、人間にとって寧ろ需要な
表層の知を確認する作業。要するにシンボル操作だから、
量子コンピュータとは直接的な繋がりはないかも。
表層の知を確認する作業。要するにシンボル操作だから、
量子コンピュータとは直接的な繋がりはないかも。
685デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN SWI prologです
ex.pl というファイルを
?- X is 3,X > 0.
?- append([1,2,3],[4],X),print(X),write(X).
以上のような中身とし、
コンソールで [ex]. とうつと
902 ?- [ex].
aaa+[1,2,3,4]
% ex compiled 0.00 sec, 1 clauses
true.
のようになるんですが、これをコンソールで逐一手で入力したのと同様に、下記のように変数の同定結果まで出力させるにはどうしたらよいでしょうか?
903 ?- X is 3,X > 0.
X = 3.
904 ?- append([1,2,3],[4],X),print('aaa'+ X).
aaa+[1,2,3,4]
X = [1, 2, 3, 4].
ex.pl というファイルを
?- X is 3,X > 0.
?- append([1,2,3],[4],X),print(X),write(X).
以上のような中身とし、
コンソールで [ex]. とうつと
902 ?- [ex].
aaa+[1,2,3,4]
% ex compiled 0.00 sec, 1 clauses
true.
のようになるんですが、これをコンソールで逐一手で入力したのと同様に、下記のように変数の同定結果まで出力させるにはどうしたらよいでしょうか?
903 ?- X is 3,X > 0.
X = 3.
904 ?- append([1,2,3],[4],X),print('aaa'+ X).
aaa+[1,2,3,4]
X = [1, 2, 3, 4].
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 【協会けんぽ】保険料率34年ぶり下げ 手取り増を後押しー4000万人加入 [蚤の市★]
- 逆に、集団ヒステリー、被害妄想、人種差別、攻撃性向の日本人が80年もおとなしくできた理由は? [452836546]
- 女の子集合!
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- 百合営業してるアイドル「これは営業だから…んっクチュクチュ」←これ
- ひまでんぼ
- まぁでもボッチちゃんってくだらない男に引っかかってサセ子にされちゃうよね
