MacでRubyのファイルを実行する方法

Macを使っているプログラミング初心者向けの説明です。
Macは MacBook、MacBook Pro、iMac のどれでも内容は一緒です。

# 準備

Mac で Rubyのファイルを書くために、まずは **テキストエディター** をインストールする必要があります。
**テキストエディター** とは、実行したいプログラミング言語の処理を書いて保存するために必要な **アプリ** です。

おすすめは [Visual Studio Code](https://azure.microsoft.com/ja-jp/products/visual-studio-code/) です。

インストールの方法については [MacOSでVisual Studio Codeをインストールする手順](https://qiita.com/watamura/items/51c70fbb848e5f956fd6) を読んでいただければわかりやすいと思います。

インストールが終わって Visual Studio Code のアプリを起動できたら、次の章に移ります。

# 新規ファイルに Ruby のコードを書く

<img width="757" alt="スクリーンショット 2020-05-16 0.05.45.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/c28ffdc7-3b85-437b-2290-4c470cedfffa.png">


Visual Studio Code のアプリを起動したら、アプリの左上が↑のような見た目になっていると思います。
ピンクの枠で囲った、**Start** の下にある <font color="blue">**New File**</font> をクリックしてください。

<img width="757" alt="スクリーンショット 2020-05-16 0.08.51.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/3fa80c86-8361-815b-3808-89e71632ffb9.png">

そうすると **Untitled-1** というタブが開きました。

この状態で、

<img width="757" alt="スクリーンショット 2020-05-16 0.12.11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/6fbaf172-6c21-f010-b0bd-0f15b5c53232.png">

`1` と書かれたスペースの右側にカーソルが点滅していると思いますので、
半角英語で `puts 1` と入力してください。

<img width="757" alt="スクリーンショット 2020-05-16 0.14.01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/7c9ab99d-fbdd-61f4-2000-c1fb25f5cf47.png">

↑のように `puts 1` と入力が済んだら、**ファイル** メニューから **Save** を選択してください。

<img width="757" alt="スクリーンショット 2020-05-16 0.15.02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/9bc831b8-2cbc-fce8-aea5-135c08797d6d.png">

Saveを選択すると、↓のように **名前** を入力する欄が表示されます。

<img width="1200" alt="スクリーンショット 2020-05-16 0.17.53.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/b3039a98-c049-57a6-061b-22e4164dec25.png">


ピンクの枠で囲った部分の **名前** の欄に `1.rb` と入力してください。

<img width="1200" alt="スクリーンショット 2020-05-16 0.20.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/9f5e9501-e24a-167b-22a3-0204a683f7a3.png">

もしかすると、↑の緑の枠で囲った部分のような見た目になっているかもしれません。

どちらの場合も、ファイルを保存する場所を指定するための画面です。
今回は **書類** フォルダに保存します。

**書類** フォルダを選択して、**保存** ボタンをクリックしてください。

<img width="721" alt="スクリーンショット 2020-05-16 1.26.01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/5ae69165-545a-bdf9-8c78-27e7c361f282.png">


Visual Studio Code の緑の枠で囲ったあたりに、 
`Users > {自分の名前} > Documents > 1.rb`
と表示されると思います。

この `Users > {自分の名前} > Documents > 1.rb` にファイルが保存されました。

## `書類` に保存したはずなのに、`Documents` になっているのはなぜ？

Macの Finder のアプリでは、日本語で `書類` フォルダがありますが、内部では `Documents` フォルダと同じ扱いになります。
詳しい説明は省きますが、Mac では **名前が違うけど同じ** になるフォルダがいくつかあります。

今は気にせず **書類** フォルダにファイルを保存したら、**Documents** フォルダにも同じファイルが保存されている、とだけ覚えて、次の章に進みます。

# ターミナルで `1.rb` を実行する

保存した `1.rb` ファイルを実行するために、`ターミナル` アプリを起動します。

<img width="811" alt="スクリーンショット 2020-05-16 0.45.44.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/3e505492-efdb-20ec-80cc-7af0cee021dd.png">

`アプリケーション` フォルダ内の `ユーティリティ` フォルダ内に `ターミナル` アプリがあるので、
`ターミナル` アプリをダブルクリックしてください。

<img width="721" alt="スクリーンショット 2020-05-16 1.24.24.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/417a08e2-7452-8891-0dda-8037b067ef20.png">

`ターミナル` アプリをダブルクリックで起動したら、

```sh
ruby Documents/1.rb
```

と入力してエンターキーを押してください。

初めて実行する場合は、↓のような確認画面が出るかもしれません。

<img width="532" alt="スクリーンショット 2020-05-16 1.41.20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/fec5d6dd-07cb-c9cd-2822-17dbd7acf1c6.png">

`書類` または `Documents` フォルダ以下のファイルにアクセスするために **OK** ボタンをクリックします。

<img width="983" alt="スクリーンショット 2020-05-16 1.43.30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/cdfe46d6-4a88-5fdb-6dea-f1e0954f2585.png">

`ruby Documents/1.rb` の下に、`1` の数字が表示されたと思います。

これで Ruby のファイルを実行できました。

# 何が起こったの？

前の章で `ターミナル` に入力した `ruby Documents/1.rb` は、**コマンド** と言います。
**コマンド** とは、簡単に言うと **アプリを文字で実行する** ようなものだと覚えておいてください。

いつもは使いたいアプリのアイコンをダブルクリックで起動していると思いますが、似たようなことを **文字の入力だけ** で実現しています。

```sh
ruby Documents/1.rb
```

というコマンドは、

> `Documents/1.rb` というファイルを `ruby` というアプリで開く

というようなことをしています。
(厳密に言うと `ruby` はアプリではありませんが、説明のために `アプリ` と言い表しています。)

# ちょっとだけ蛇足

`ターミナル` のアプリに `pwd` と入力してエンターキーを押して実行してください。

<img width="983" alt="スクリーンショット 2020-05-16 1.56.08.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/cbf39063-598b-3ab1-dfa0-28d274f2c2b3.png">

`/Users/{自分の名前}` と表示されたと思います。

`pwd` というコマンドは **今いるフォルダの場所を表示する** というコマンドです。

次に `ターミナル` のアプリに `ruby /Users/{自分の名前}/Documents/1.rb` と入力してエンターキーを押して実行してください。

<img width="983" alt="スクリーンショット 2020-05-16 2.00.05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/610c7e34-3050-edd0-d12e-cb8a99d86904.png">

さっきと同じように `1` が表示されたと思います。

これは、
> **自分の今いるフォルダ** の下の **書類** フォルダにある `1.rb` というファイルを `ruby` コマンドで実行するよ。

ということをしています。
 
最後にもう一つ。
`ターミナル` のアプリに `cd Documents` と入力してエンターキーを押して実行してください。

<img width="983" alt="スクリーンショット 2020-05-16 2.04.43.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/208671a9-a82e-21d2-ae09-698e8657fbf7.png">

次に `ターミナル` のアプリに `ruby 1.rb` と入力してエンターキーを押して実行してください。

<img width="983" alt="スクリーンショット 2020-05-16 2.05.39.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/4c78e0f5-0053-637a-61dc-afd8a2e380e5.png">

またさっきと同じように `1` が表示されました。

この２つのコマンドは、

> **Documents (書類)** フォルダに **移動** するよ。

と

> `1.rb` というファイルを `ruby` コマンドで実行するよ。

ということをしました。

１つめの `cd` が、フォルダを **移動** するためのコマンドです。
どこに移動するかを **Documents (書類)** フォルダに指定しました。

<img width="882" alt="スクリーンショット 2020-05-16 2.11.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/308844/edc52d7e-2219-4787-ec68-ba1956d52a24.png">

↑この状態になったのと同じ意味です。

そして、今までは `1.rb` というファイルがある場所を、フォルダ名と一緒に `ターミナル` アプリで入力していましたが、２つめのコマンド `ruby 1.rb` では、ファイル名を入力するだけで、同じ `1` という表示が出せました。

**書類** フォルダに移動したので、**書類** フォルダという場所を入力しなくてもよくなりました。


# まとめ

* プログラミング言語の処理を書いてファイルに保存するための [Visual Studio Code](https://azure.microsoft.com/ja-jp/products/visual-studio-code/) を使いました。
* Visual Studio Code で `puts 1` という文字を入力して、`1.rb` というファイル名で、**書類 (Documents)** フォルダの下に保存しました。
* `ターミナル` アプリでコマンドを実行しました。
* `ターミナル` アプリで、今いるフォルダを表示しました。
* `ターミナル` アプリで、**Documents (書類)** フォルダに移動しました。
* `ターミナル` アプリで、`1.rb` というファイルを `ruby` コマンドで実行しました。

# 動作環境

Mac: バージョン 10.15.4
Visual Studio Code: Version: 1.45.0
Ruby: 2.6.3p62