ファイルストリーム操作PROLOGPROLOGファイルストリームの操作。
を処理するための用語抽出、私はそれが新しい学生プロファイル(転写) を取り、student_profilesのデータベースと比較することができ ある助言事例ベース推論に学術用 サブシステムを働いています の場合、完全一致でない場合は最も一致するものを検索してください。
私はまだ私がのがstudent.pl
で発見され
student_profile/4 : student_profile(L1, name, L2, L3)
を言わせて、特定の述語をファイルを開き、 を抽出しようとしている言語と に非常に精通していませんよ。
私は.plのファイルから述語を抽出した後、私はそれを変数に割り当て、それを を分割することが ようにしたいので、私は に(この場合はL1
で)最初の引数を抽出することができますいくつかの計算を行います。
これは私がこれまで持っているものです。
私は、ファイルを開いていて、私は学生のプロファイルまたは転写産物で見つかった述語 のリスト全体を見ることができますよ。
load :- open('h:/AAS/Novel_Profiles/vivian.pl', read, Stream),
read(Stream, X),
read_data(Stream, X, StudentP),
write(StudentP),
close(Stream).
read_data(_Stream, end_of_file, []) :- !.
read_data(Stream, X, [X|StudentP]) :-
read(Stream, Y),
read_data(Stream, Y, StudentP).
私は用語を抽出し、さらなる処理のためにそれを使用する方法の例を探していますが、私は には運がなかったしている(または多分私は右の用語を使用していません)。
ご協力いただければ幸いです。
おかげで、それは私が照会したい場合は、同じ手順が適用されるという場合でありますプログラム内のデータ? member_sp(StudentPred、StudentData)というストリームを閉じる前に、このようなものを追加するのと同様に、もちろんそのようなものを底部で定義していますか? – user1308665
はい、Prologのようなインタプリタは、プログラム開発の一般的な方法としてREPL(読み取り、評価、印刷、ループ)を使用します。 – CapelliC
お手数をおかけしていただきありがとうございます。お聞きしたいことがもう1つあります。非常にシンプルに思えるかもしれませんが、私はあまり理解していません。一度私はファイルを読んだ。必要なデータは、[student_predicate([2Dベクトル]、Vivian、[撮影(コース)、...]、[])| _A]という複合語の形をしています。V = [Vector]、Name = vivian、Courses = [撮影(コース)、...]、Recommendations = []このような用語の構造は、 ?私はスクリプト内からこれをやりたい私は(unvi)= ../2 and functor/3 – user1308665