- 336 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 04:52:07 ]
- >>332
なかなか、よい発想をされますね。[]の分割問題ですね。これは、 あなたが、「 []を分割してBefore=[] After=[] なんて許さん。偽だ。」と 考えるなら、この述語は split(X,[H],[H],[]) :- H=<X,!. split(X,[H],[],[H]) :- H>X,!. split(X,[H|L],[H|A],B) :- H=<X,split(X,L,A,B). split(X,[H|L],A,[H|B]) :- H>X,split(X,L,A,B). となります。普通私たちは、 ?- split(5,[],A,B). A = [], B = [] が好ましい仕様だと思い込んでいるのですが、 少々Prolog呆けしているのかも知れません。
|

|