Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

Ruby on Rilasを使った今のWebシステム開発は、優れたライブラリを組み合わせて作るのが常識です。Rubyの使い方を学ぶなら、ライブラリの使い方も学んでください。今回はライブラリとはどんなものか良く解らない、という方のために、ライブラリとはどのようなものか、また、Rubyでライブラリを利用する方法について解説します。

Rubyにとってライブラリとは


Rubyには標準ライブラリと外部ライブラリがあります。そしてRubyといっしょにインストールされるのが標準ライブラリであり、Ruby on RailsのようにRubyGemsなどからダウンロードして利用するのが外部ライブラリです。RubyのプログラムやRuby on Railsを利用するにはこのようなライブラリが欠かせません。

まずはRubyにとってライブラリとはどのようなものかについて解説します。

そもそもライブラリとは

IT用語のライブラリとは、特定の機能を実現するためのプログラムを部品化し、それを呼び出して利用できる形式にしたファイルのことです。そのため単体では実行できず、その機能を利用するプログラムに読み込まれ、呼び出されることでその機能が実行されます。

なおライブラリの形式は呼び出されるプログラムによって決まっており、CPUでそのまま実行される形式のものや、ソースファイルと同じテキスト形式のものなどがあります。そしてRubyのようなスクリプト言語では、ソースファイルと同じテキストのライブラリが使われます。

オブジェクト指向とライブラリの関係

Rubyはオープンソースのオブジェクト指向なスクリプト言語です。そしてオブジェクト指向とは、機能とその機能で用いる変数を1つのパッケージにして管理する方法で、機能を部品として切り出し、別のプログラムで利用しやすくする仕組みです。

このようにそれだけで動作する部品を切り出し、1つのファイルにまとめたものがライブラリです。なおオブジェクト指向のプログラム言語では、クラスの中に機能とその機能で用いる変数を記述できるので、そのクラスをそのまま別のファイルに切り出し、ライブラリとして利用できます。

Rubyのライブラリとは

Rubyには外部のソースファイルを読み込む機能があり、読み込んだソースファイルのプログラムを実行するソースファイルの一部として利用できます。Rubyにとってのライブラリとは、そのような外部ファイルを特定のフォルダに集めたソースコードのことです。

なおRubyのプログラムで使われる変数のほとんどは、対応したクラスを継承したオブジェクトです。そのため基になったクラスが定義されたライブラリがあり、標準ライブラリとしてrubyのプログラムといっしょにインストールされます。またRubyGemsなどから入手したソースコードをライブラリとして利用することが可能です。

Rubyで使えるライブラリ


先ほど紹介したようにRubyには標準ライブラリと外部ライブラリがあり、どちらもRubyのプログラムから同じように利用できます。次から、この2つの違いなどについて紹介します。

Rubyの標準ライブラリ

Rubyをインストールするとrubyコマンドと標準ライブラリがインストールされます。なおrubyコマンドは、Rubyのプログラムを解析して、プログラムとして実行するための仕組みです。そしてRubyのプログラムで使える変数は、標準ライブラリとしてソースファイルに定義されており、それが読み込まれているので利用できます。

なお、Rubyの標準ライブラリの中には、外部ファイルを読み込むrequireを使うライブラリと不要なライブラリとがあります。マニュアルをチェックして必要ならrequireで読み込んでから利用してください。

Rubyの外部ライブラリ

Rubyを使う仕事と言えばRuby on RailsによるWebシステムの構築と言えるくらい、Ruby on Railsは使われています。そしてRuby on Railsは、RubyGemsで公開されているライブラリの1つです。さらにRubyGemsにはWebシステムなどで使われる多くのライブラリが公開されており、それらはgemと呼ばれています。

このgemのようにRubyをインストールした後、導入するライブラリが外部ライブラリです。そして外部ライブラリを利用するには、先ほど紹介したのと同じようにrequireで取り込みます。gemコマンドを使ってRubyGemsからインストールした場合は、requireに続けてライブラリ名を指定してください。ただし独自に作成した外部ライブラリを利用する場合、格納したパスを含めて指定する必要があります。

ポテパンダの一言メモ

gemとは
gemとは、RubyGemsが公開しているRubyのパッケージのことで、Rubyをインストールした際に同時にインストールされるgemコマンドを使ってそのパッケージを管理できます。そしてgemコマンドを使ってライブラリをインストールすると、Rubyの標準ライブラリと同じようなgem専用パスに格納されるので、標準ライブラリと同じように使用することが可能です。

RubyGemsには多くのエンジニアが利用する優れたライブラリが多数揃っているので、ぜひ活用してください。

ライブラリを読み込む方法


Rubyでライブラリを読み込むにはrequireでライブラリ名のみを指定するか、パスを含むライブラリ名を指定します。なお、読み込むシステム変数にパスを登録しておけば、パスを省略することも可能です。次にrequireの使い方と、システム変数の設定方法を紹介します。

requireの使い方

Rubyでライブラリを読み込む際に使うメソッドがrequireです。なおrequireは、引数でfeature名を指定し、feature名に対応するRubyのソースファイルを読み込みます。そしてfeature名とは、拡張子を除いたファイル名です。なお、requireは一度だけしかロードしないので、通常はソースファイルの最初に指定します。

requireの使い方

require feature名

requireの使用例

(実行するファイルと同じパスにある"common.rb"を読み込む例)
require "common"

(絶対パス"/exports/service/cust/"にある"common.rb"を読み込む例)
require "/exports/service/cust/common"

(相対パス"../cust/"にある"common.rb"を読み込む例)
require "../cust/common"

loadの使い方

loadは先ほど紹介したrequireと同じく引数でfeature名指定し、それに該当するファイルを読み込みます。ただし、requireは一度だけ読み込みますが、loadは再読み込みが可能です。そのためライブラリの中で変数に初期値を設定している場合、loadを使って再読み込みすることで変数を初期値に再設定できます。

loadの使い方

load feature名

ライブラリのパスを指定するシステム変数

Rubyにはライブラリをロードするときの検索パスを設定するシステム変数があり、この変数にパスを追加しておくことで、独自に用意したライブラリのパスを指定せずにfeature名だけで利用できます。ライブラリの検索パスを格納するシステム変数は次の3つです。

$LOAD_PATH
$;
$-I

例えば、下記の例のように$LOAD_PATHに開発中のWebシステム独自に作成したライブラリのパスを指定することで、requireでパスを省略したライブラリ名を利用できます。

“/exports/service/cust/”をライブラリのパスに追加する例

$LOAD_PATH << "/exports/service/cust/"

なおRubyのプログラムの中で上記の方法でライブラリのパスに追加した場合、それに続くrequireのみ追加されたパス名が適用されます。

まとめ


今のソフトウェア開発では、利用する機能をゼロから開発するのは稀で、既に用意されているライブラリを組み合わせるのが一般的です。特にRubyで作られたWebシステム向けのフレームワークのRuby on Railsはその典型で、Ruby用に作られた優れたライブラリを組み合わせることでWebシステムを開発できます。

そのためRuby on RailsによるWebシステムの開発は、アイデアを実現するためにどのライブラリを組み合わせるかが重要です。ぜひRubyとライブラリの関係と、ライブラリを利用する方法をマスターしてください。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。