20
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PrologをMacOSで使う

Last updated at Posted at 2019-05-22

対象

s大学理工学部ics学科g先生の講義で、PrologをMacOSで使いたい方向けの記事です

私の環境

macOS Mojave v10.14
shellはbash
SWI-Prolog version 8.0.2 for x86_64-darwin

知っておくべきこと

基本コマンド

コマンド 意味
ls ファイル・ディレクトリの一覧を表示
cd 作業ディレクトリの移動
pwd 現在のディレクトリのPATHを表示
mkdir 新規ディレクトリの作成
rm ファイル・ディレクトリを削除
touch 新規ファイルの作成
open ファイルを開く

Vimの使い方

モード 意味
ノーマルモード h,j,k,lでカーソル移動ができる
インサートモード 入力ができる
キー 意味
ノーマルモードの時の i インサートモードに切替
インサートモードの時の esc ノーマルモードに切替
ノーマルモードの時の :w 保存
ノーマルモードの時の :q 閉じる

目次

  1. SWI-Prologをインストールする
  2. PATHを通す
  3. 使ってみる

1. SWI-Prologをインストールする

1.1. インストール

リンクに飛び、SWI-Prolog 8.0.2-1 for MacOSX 10.12 (Sierra) and later on intel をインストールする。

1.2. アプリケーションの移動

Prolog(フクロウのアイコン)をApplicationフォルダーの中にドラッグ&ドロップで移動させる。

2. PATHを通す

PATHを通すの意味は分からなくても大丈夫。
しかし、この授業やPrologに限らずPATHを通すことはよくあるので調べてみると良い。
まず通したいPATHの確認する(Prologの中にあるMacOSにPATHを通したい)。

2.1. ターミナルを開く

(ターミナルの開き方が分からない方はこちら)

2.2. Prologがあるか確認する

以下のコマンド( you$ から右側)をターミナルに打って、Application下に SWI-Prolog.app があることを確認する。

Your-Macbook-Pro:~ you$ cd /
Your-Macbook-Pro:/ you$ cd Applications/
Your-Macbook-Pro:Applications you$ ls
.
.
FaceTime.app			Reminders.app
Font Book.app			SWI-Prolog.app
GarageBand.app			Safari.app
Google Chrome.app		Siri.app
.
.
.

あった。

2.3. MacOSの場所を探す

以下のコマンドで SWI-Prolog.app の中の MacOS まで移動する。

Your-MacBook-Pro:Applications you$ cd SWI-Prolog.app/
Your-MacBook-Pro:SWI-Prolog.app you$ ls
Contents
Your-MacBook-Pro:SWI-Prolog.app you$ cd Contents/
Your-MacBook-Pro:Contents you$ ls
Frameworks	MacOS		Resources	pkgconfig	swipl.home
Info.plist	PlugIns		man		swipl
Your-MacBook-Pro:Contents you$ cd MacOS/
Your-MacBook-Pro:MacOS you$

2.4. MacOSのPATHを確認する

MacOSまで行ったら pwd コマンドで現在の場所を確認する。

Your-MacBook-Pro:MacOS you$ pwd
/Applications/SWI-Prolog.app/Contents/MacOS

つまり、 /Applications/SWI-Prolog.app/Contents/MacOS にPATHを通せばいいことがわかった。
続いてPATHを通す。

2.5. shellの設定を開く

shellがbashの人は以下のコマンドでbash_profileの設定画面をvimで開く。

Your-MacBook-Pro:MacOS you$ vi ~/.bash_profile

zshの人は bash_profilezshrc に置換して以降の操作を行う。

画面が変わり、vimでbash_profileが開けた。

~/.bash_profile
export PATH="~/.xxxxx/shims:/usr/local/bin:$PATH"
export PGDATA=/usr/local/var/xxx
export XXXXX_XXXX="$HOME/.xxx"
.
.
.

こんな感じ。

2.6. 以下の1行を追加する

i を押して、インサートモードにしたのち、

~/.bash_profile
.
.
export PATH=$PATH:/Applications/SWI-Prolog.app/Contents/MacOS

を最終行に追加する。

2.7. vimを閉じる

esc を押してノーマルモードに戻したのち、 :w で保存し、 :q で閉じる。
vimを開く前の画面に元に戻ったらok。

2.8. 以下のコマンドでbash_profileを更新する

Your-MacBook-Pro:MacOS you$ source ~/.bash_profile

2.9. 以下のコマンドで正しくPATHを通せたか確認する

Your-Macbook-Pro: MacOS you$ printenv PATH
/Users/you/.xxxxx/shims:/Users/you/.pyenv/bin:/xxx/.........
..........:/Applications/SWI-Prolog.app/Contents/MacOS

できた。

3. 使ってみる

本記事では /User/you/prolog2019 下に、 sample.pl というファイルを作成する。そのファイルに

male(tom).

を記述し、挙動を確認する。

3.1. /User/you/prolog2019 下に、 sample.pl というファイルを作成する

せっかくなので、

  1. prolog2019というディレクトリを作成する
  2. その中にsample.plというファイルを作成する
  3. sample.plを開く
    の3つを、コマンドを駆使してターミナルだけでやってみる。
Your-MacBook-Pro:Hoge you$ cd ~
Your-MacBook-Pro:~ you$

これで User/you に移動。その下に prolog2019 というディレクトリを作りたい。

Your-MacBook-Pro:~ you$ mkdir prolog2019
Your-MacBook-Pro:~ you$ ls
Applications	Downloads	Music		Desktop		Library
Pictures	    prolog2019	Documents	Movies

できた。続いて、 prolog2019 に移動。

Your-MacBook-Pro:~ you$ cd prolog2019/
Your-MacBook-Pro:prolog2019 you$

移動した。ここに、 sample.pl というファイルを作成したい。

Your-MacBook-Pro:prolog2019 you$ touch sample.pl
Your-MacBook-Pro:prolog2019 you$ ls
sample.pl

できた。

3.2. コードを書く

コードを書くためにsample.plを開きたい。

Your-MacBook-Pro:prolog2019 you$ open sample.pl

開いた。そこに、

sample.pl
male(tom).

を記述。保存を忘れずに。

※今回はopenで開けたがbash_profileと同様にvimでも開ける
 その場合はopenの代わりにvi(またはvim)を使用する

3.3. コンソールで実行し、クエリを投げてみる

ターミナルに戻り、 $ swipl -f ファイル名 でsample.plを実行する。
(現在の作業ディレクトリが prolog2019 であることを確認)

Your-MacBook-Pro: prolog2019 you$ swipl -f sample.pl
Welcome to SWI-Prolog (threaded, 64 bits, version 8.0.2)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.

For online help and background, visit http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- 

?- にクエリを叩く。

?- male(tom).
true.

?- male(Who).
Who = tom.

?- 

できた。

3.4. コンソールを閉じる

終わりたいときは halt. で退出できる。

?- halt.
Your-Macbook-Pro:prolog2019 you$

無事 prolog2019 に戻った。

最後に

文末の . (ピリオド)を忘れずに。

完全に余談

プログラミングは楽しくておもしろいです。
ぜひ授業のCやjavaで「自分は向いてない」と意気消沈せずに、
エンジニアとして活躍されている社会人にお話を聞いたり、他の言語を学んでみてください。
きっと人生が変わるでしょう。
ics学科の先輩より

20
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?