- 【論理】Prolog【初心者】
787 :デフォルトの名無しさん[sage]:2014/11/01(土) 01:37:40.45 ID:cR58jgTn - straight の定義が妙だね。
対象のマスに期待する石がなかった場合、 Len は 0 になる。 それ以外の場合、 Len + 1 を代入した Len1 を使って再帰してる。 でもこれをやるには、 Len は既に数値でなきゃいけない。 しかも、再帰先でこの Len1 と 0 との単一化が成功するには、 Len は負の数でなきゃいけない。
|
- 【論理】Prolog【初心者】
789 :デフォルトの名無しさん[sage]:2014/11/01(土) 10:42:41.34 ID:cR58jgTn - それを実行するには、先に Len に数値が代入されてなきゃいけないの。
is の右辺の式では未確定な変数は使えない。 この再帰だと、 Len より Len1 のが先に確定するよね。 だから再帰呼び出しのあとで Len を計算するって形にすればいいと思うけど。
|
- 【論理】Prolog【初心者】
792 :デフォルトの名無しさん[sage]:2014/11/01(土) 22:43:45.21 ID:cR58jgTn - リスト処理とかなら未確定の変数ばっかりでも動くんだけどね。
数値計算は確定した値での計算にしか対応してない。 その意味で、数値計算はあまり特徴を活かせない分野かな。
|