Ruby超入門 2周目 CHAPTER10-1 ライブラリを使う まで

f:id:kkouji0224:20191027224451p:plain

 

『ゼロからわかる Ruby 超入門 (かんたんIT基礎講座) 』
github.com

 

寝ても寝てもまだまだ寝れる。もっともっと寝れる。そんな感じです。

こんばんはkoujiです。

 

今日は CHAPTER10を振り返っていくぜー!!

 

Gemを使うぜ!!

 

まずRubyの世界には3つのライブラリがあるんだ。1つは「組み込みライブラリ」2つ目はrequireメソッドを実行して使う「標準添付ライブラリ」3つ目がインストールしてつかう「Gem」だ。

 

Gemのインストール

f:id:kkouji0224:20191107214027p:plain

 

上の場合だとawesome_printってgemをインストールしているね。ターミナルで gem install Gem名って書いてあげるとインストールできるよ!installは頭文字のiだけでgem i でもOK!

 

gem installコマンドはプログラムを実行するたびにインストールする必要はないんだね。で、gem listコマンドでインストールされてるgemとそのバージョンを確認できるんだよ。こんな感じ。

 

f:id:kkouji0224:20191107214737p:plain

 

じゃーさっそくインストールしたgemを使ってみようじゃないですか。

 

require "awesome_print"
ap ["醤油ラーメン""味噌ラーメン""塩ラーメン"]

 

これを実行すると…

 

f:id:kkouji0224:20191107214907p:plain

 

こんな感じで、配列が見やすく表示されるようになるね。gem installでインストールしたものをrequire "awesome_print"で読み込んでapメソッドを使ってるね。便利だぜ。

 

もちろんGemの使い方はGemによって違ってくるので、Gemのドキュメントを読んでから使う感じ。GitHubのページが多いみたい。

 

Bundlerを使う

BundlerはBundlerのインストール→Gemfileを書く→bundle installって感じで進めていくよ。Bundlerを使うと複数のGemをインストールする必要があるときに便利だね。

 

f:id:kkouji0224:20191107221724p:plain

 

こんな感じでまずはインストール。gem install bundlerって感じだね。

 

f:id:kkouji0224:20191107222052p:plain

 

で、次にbundle initコマンドでgemfileの雛形をつくりまーす。toの後がgemfileが出来た場所になりまーす。で、gemfileを開いて編集していきまっす。

 

# frozen_string_literal: true


git_source(:github) {|repo_name"https://github.com/#{repo_name}" }

# gem "rails"
gem "pry"

 

こんな感じ。# gem "rails"とかは例なので消してもいいし#外してrailsをインストールしてもいいけど、今回は触らないでおきまっす。で、インストールしたいgemを最後に書くんだね。今回はpryをインストールしてみようってことなんで、gem "pry"って感じ。書いたら保存!

 

gemfileも書いたしインストールだ!

 

f:id:kkouji0224:20191107222641p:plain

 

bundle installコマンドを実行するとgemfileに書いたpryがインストールされる!今回はgemを1つしか書いてないけど、gemfileに複数書いた場合でも、このbundle installコマンドで一回でインストール出来ちゃう便利ものだねっ。

 

bundle installコマンドを実行すると、Gemfile.lockってフィルが作成されるんだけど、使われているGemのバージョン情報とかが記載されてるよ。GemfileとGemfile.lockはセットなんだね。Gemfileは発注書で、Gemfile.lockは納品書って考えるといいみたい!!

 

Gemfileに書かれているgemの新しいバージョンがリリースされている場合は、bundle updateコマンドを使えば、新しいバージョンのgemがインストールできて、そのバージョン情報がGemfile.lockに書き込まれるって感じ!

 

コマンドでGemのバージョン指定をして使うってこともできるみたい。新しいバージョンのgemをインストールしても古いバージョンのgemはアンインストールされないんだね。で、同じgemの複数のバージョンがインストールされてる状態になってる。で、新しいバージョンが使用されるようになってるんだけど、Gemfile.lockに書かれたバージョンでRubyを実行したい場合は… bundle exec ruby ファイル名.rbって書いてあげるとできるんだねー。

 

 ってな感じで、GemのインストールやbundlerやGemfilやGemfile.lockな感じでしたっ!Gemfile.lockって何かよくわかってなかったんだけど、Ruby超入門で説明されてて「なるほどなー」って感じだったんだよね。納品書!!

 

ってな感じで今日はこの辺で!!sinatraを振り返るか迷い中!!

 

ってことでアディオス!