【Ruby入門】gemとライブラリ
  • facebookページ
  • twitterページ
  • 2018.01.09

    【Ruby入門】gemとライブラリ

    本記事では、gemとライブラリについて解説します。

    gemとは簡単にいえばライブラリで、誰かが作ったものを自分のプログラムで使うことができるのです。

    gemを使えば毎回イチからプログラムを作る必要がなくなります

    gemは膨大な数になりますが、ほんの一部を紹介します。

    ぜひ雰囲気をつかんでください。

    gemとは!という定義は後にして、実際に動かしてみましょう。

    都道府県を取得するjp_prefecture

    JIS X 0401 により、各都道府県におおむね北東から南西へ、01から47までの番号が割り振られています。

    みなさんのお住いの都道府県にも、必ず番号が振られています。

    都道府県コードから、都道府県を得るプログラムはどうすればよいでしょうか?

    すぐに思いつく方法は、どこかに配列またはハッシュを定義してそれを呼び出すというものでしょう。

    確かにそれでもよいのですが、もう少しスマートにgemを使ってみましょう。

    都道府県コードから都道府県名を取得したい!と思ったらまず「gem 都道府県」で検索しましょう。

    jp_prefectureがヒットします。

    jp_prefecture とは都道府県コードと都道府県名を変換するライブラリです。

    と説明があります。これを使いましょう。

    gemはだいたいインストール方法や使い方が書かれています。

    上記のリンクによると、以下でインストールできるそうです。

    やってみましょう。以下のようなメッセージが返ってくれば成功です。

    確認はこうします。

    以下が表示されれば完了です。

    使い方も書いてあるので、まねてみましょう。

    [実行結果]

    もうできました!

    都道府県コード13は東京都なので、”東京都”という文字列が表示されました。

    もうちょっと解説を見ると、都道府県名から都道府県コードを得ることもできるようです。

    [実行結果]

    今度は”東京都”から13を得ることができました。

    さらによく見ると、地方も得られるようです。例えば東京であれば関東ですよね。

    これを使って、関西地方の都道府県だけ出してみましょう。

    [実行結果]

    できました!!

    近畿二府四県を取得できました。

    ここで郵便番号を取得すること自体のコーディングは一切していないということに注目してください。

    他にもさまざまな使い方があるようですが、そろそろ別のgemに行きましょう。

    CSVファイルを読み込む CSV

    CSVファイルをパース(構文解析、要はカンマごとの値を取り出す等々)したいことはよくあります。

    どうせだったら、カンマごとに配列に入れてくれればいいのに・・・

    そう思いますよね。

    自分が欲しいと感じたら、Rubyの世界ではだいたいがgemとして公開されています。それを使わない手はありません。

    というわけで「gem CSV」で検索すれば、以下がヒットします。

    その名もcsvです。そのまんまですね。

    ここを見てみると、やはりインストール手順と使い方が書いてあります。

    インストールは以下のとおりです。

    適当なCSVファイルを用意しましょう。

    今回は郵便番号データを使います。

    東京の分だけダウンロードしましょう。

    ZIP形式なので、ダウンロードして解凍すると13TOKYO.csvというファイルができます。

    そのファイルをソースファイルと同じフォルダに保存してください。

    そしてCSVのページへ戻ると、使い方が書いてあります。

    だそうです。

    とりあえず動くかどうか知りたいので、空振りすることを予想してそのまま動かしましょう。

    [実行結果]

    いきなりエラー・・・

    「ruby csv 読み込み」で改めて検索してみましょう。すると、エンコード指定で読み込む方法が見つかります。

    ついでに、foreachも変ですね。eachに直しましょう。

    読み込みも分けて簡潔にします。

    まずは中身を確認するまでいきましょう。

    [実行結果]

    何か出ました!

    どうやらrowに1行分の内容が配列で入っているようです。

    ということは、郵便番号っぽい3つめを指定すれば良いのでしょうか?

    [実行結果]

    出ました!

    あとは、要素指定して千代田区のものだけを出力、などの工夫ができますね。

    まとめ

    本記事では、gemの使い方を解説しました。

    今後「誰でも思いつきそうなことなら、何か良いgemはないかな?」と考えてみてください。

    きっとどこかの誰かが先に作ってくれていますよ!


    Ruby on Railsのフリーランスは高収入でおすすめ!

    Rubyができる方は多くはいないのが現状です。 プロジェクトは右肩上がりで増えているので、エンジニアが全く足りておりません。 Rubyの実務経験が1年以上ある方はフリーランスになることもできるので、ぜひご興味があればポテパンの無料カウンセリングをご利用下さいませ! Ruby案件に関する情報は下記にまとまっていますのでぜひご覧下さい。

    Ruby on Rails案件のイマがわかる!知って見つかる最適案件


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料10万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE