このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1267796762/374
# 【 課題 】 コマンドラインからファイル名を受け取り、拡張子が txt の場合は内容を表示し、
# txt でない場合はファイル情報を表示しなさい。また、コマンドラインからファイル名が与えられなかった場合には
# FileChooser を使ってファイル名を自由に取得できるようにしなさい。
# 【 補足 】.txtという拡張子の時でもFileChooserが動いてしまうので、
# それをどうにか直したいのですが、うまくいきません。
# 以下がソースです。
# http://ime.nu/www.geocities.jp/lang_lang_true/ss.txt
#


prolog :-
        'コマンドラインからファイル名を受け取り、拡張子が txt の場合は内容を表示し、txt でない場合はファイル情報を表示しなさい。また、コマンドラインからファイル名が与えられなかった場合にはFileChooser を使ってファイル名を自由に取得できるようにしなさい。'.

'コマンドラインからファイル名を受け取り、拡張子が txt の場合は内容を表示し、txt でない場合はファイル情報を表示しなさい。また、コマンドラインからファイル名が与えられなかった場合にはFileChooser を使ってファイル名を自由に取得できるようにしなさい。' :-
        user_parameters([_ファイル名]),
        '拡張子が txt の場合は内容を表示し、txt でない場合はファイル情報を表示しなさい'(_ファイル名),!.
'コマンドラインからファイル名を受け取り、拡張子が txt の場合は内容を表示し、txt でない場合はファイル情報を表示しなさい。また、コマンドラインからファイル名が与えられなかった場合にはFileChooser を使ってファイル名を自由に取得できるようにしなさい。' :-
        \+(user_parameters([_])),
        ファイル名指定(_ファイル名),
        '拡張子が txt の場合は内容を表示し、txt でない場合はファイル情報を表示しなさい'(_ファイル名),!.

'拡張子が txt の場合は内容を表示し、txt でない場合はファイル情報を表示しなさい'(_ファイル名) :-
        atom_suffix(_ファイル名,4,'.txt'),
        get_lines(_ファイル名,Lines),
        put_lines(Lines).
'拡張子が txt の場合は内容を表示し、txt でない場合はファイル情報を表示しなさい'(_ファイル名) :-
        \+(atom_suffix(_ファイル名,4,'.txt')),
        get_file_info(_ファイル名,_ファイル情報ならび),
        write_formatted('%t\n',[_ファイル情報ならび]).