のようなものを割り当てると、次のよう
process([[baby],[boy],[[is]dancing],[with],[[the][family]]],A)
に出力されます
A = [[baby],[boy],[[is]dancing],[with],[[..][..]]].
端末にすべての値を表示したい。何かのようなもの
A = [[baby],[boy],[[is]dancing],[with],[[the][family]]].
のようなものを割り当てると、次のよう
process([[baby],[boy],[[is]dancing],[with],[[the][family]]],A)
に出力されます
A = [[baby],[boy],[[is]dancing],[with],[[..][..]]].
端末にすべての値を表示したい。何かのようなもの
A = [[baby],[boy],[[is]dancing],[with],[[the][family]]].
問題は、リストが表示されるときにトップレベルがリストを切り捨てていることです。最大ネストの深さは、prolog フラグtoplevel_print_option
とオプションmax_depth(0)
で設定できます。0 はすべてを表示することを意味します。
ヘルパー プロシージャは、prolog フラグを変更して max_depth のみを 0 に変更し、他のオプションは変更しません。
set_toplevel_flags:-
current_prolog_flag(toplevel_print_options, Opts),
(select(max_depth(_), Opts, TOpts) -> NOpts=TOpts ; NOpts=Opts),
set_prolog_flag(toplevel_print_options, [max_depth(0)|NOpts]).
current_prolog_flag/2
述語をtoplevel_print_options
フラグとともに使用します。このようなもの:
?- current_prolog_flag(toplevel_print_options, X). X = [quoted(true), portray(true), max_depth(10), spacing(next_argument)].
max_depth
オプションの値を変更するか、省略された回答を取得した後にwと入力すると、prolog は回答を完全に出力します。pを押すと元のフォーマットに戻ります。回答を出力した後、プロローグが入力を待機するようにするには、クエリに追加して非決定性をクエリに追加することをお勧めします; true.
。詳細については、こちらを参照してください。