Rubyを使ってやりたいことから逆引きで使える機能を解説します

19/01/27 16:41:45     19/01/27 19:00:49

逆引きRuby

Rubyはもともと日本人が開発した言語なので、日本語の情報が豊富です。なかでも特に逆引きできる機能がネット上に公開されており、これは有志で作られたものです。具体的にどのような機能を逆引きできるのか、解説していきます。

逆引きRubyとは

逆引きRubyとは、インターネット上に公開されているRubyを逆引きできる機能です。コンテンツはキーワードから自分で検索することも可能ですが、あらかじめ用意されているカテゴリーから選択することも可能です。

ちなみに、逆引きRubyのURLは以下になります。
https://scrapbox.io/rubytips/逆引きRuby

逆引きRubyの項目

逆引きRubyに用意されている項目は以下になります。

[字句構造]
[文字列]
[数値]
[日付と時刻]
[配列]
[ハッシュ]
[変数とスコープ]
[正規表現]
[制御構造]
[ファイルアクセス]
[ディレクトリ]
[クラスとオブジェクト]
[モジュール]
[例外]
[スレッド]
[YAML]
[JSON]
[webオートメーション]
[GUI]
[ネットワーク]
[データベース]

これがもっとも大枠のカテゴリーで、それぞれのカテゴリーに入るとさらに細かく分かれています。たとえば一例としてディレクトリの項目を紹介すると以下のようになります。

[ディレクトリの作成]
[ディレクトリの削除]
[中身が空でないディレクトリを削除する]
[ディレクトリ名を変更する]
[ディレクトリの詳細情報を取得する]
[ディレクトリのファイルモードを変更する]
[ディレクトリの所有者とグループを変更する]
[ディレクトリの最終アクセス時刻と最終更新日時を変更]
[カレントディレクトリの取得と変更]
[ディレクトリ中のファイル一覧を取得する]
[ワイルドカードにマッチしたファイル全てに処理を行う]
[ファイル名からディレクトリ部分だけを切り出す]
[ディレクトリかどうか判定する]
[ディレクトリ内の全ファイルに対して処理を行う]
[ディレクトリ内の全ファイル名をファイルパスで表示]

以上のようになります。

一番上の階層のディレクトリから一つ降りると上記のように細分化されてコンテンツが用意されているので、情報量的にはちょうど良いのではないでしょうか。

さらにたとえば上記項目のなかの[ディレクトリの作成]を押すと三階層目に降りて、説明が出てきます。

Dir::mkdirメソッドにより[ディレクトリ]を作成することができます。第2パラメタでパーミッションを設定することができます。設定されるパーミッションは指定した値とumaskのANDになります。省略時のパーミッションは0777です。

code:ruby
 Dir::mkdir("/home/take/tmp")

 Dir::mkdir("/home/take/diary", 0700)

このような説明となっています。

説明自体はあっさりしていますが、サンプルコードも付いているので冗長すぎずちょうど良いかと思います。

ログイン編集が可能

逆引きRubyはログインすることで編集が可能です。新たにアカウント登録する必要はなく、Googleのアカウントでログインすることができます。編集することで他のエンジニアの役に立てるやりがいがあるかと思いますが、自分自身の勉強にもなります。

普段コーディングをしていて、案外自分の言葉で説明できないまま実装していることも多いかと思います。頭のなかでロジックや概要がまとまっていればそれでも良いのですが、言葉で説明できないということはなんとなく理解しないままコードをコピペしている可能性もあります。

Rubyを含めプログラミングにおいてはアルゴリズムやロジックが重要で、表面的なコーディングよりよほど重要です。アルゴリズムやロジックをすべてプログラミング言語で考えることのできる人は別にして、普通はそのようなことは困難です。

先に日本語で考えることになるので、言い換えれば日本語で説明できない実装を行うことは問題だと言えます。プロジェクトに所属している場合先に設計書を作ってからプログラミングすることになりますが、個人開発だと設計書なしに実装から入るケースもあるでしょう。

日本語でまとめる習慣がないとコピペでつぎはぎのコーディングをしてしまう癖がつくので、ぜひ設計やソースコードを日本語で説明する習慣を身に付けると良いかと思います。逆引きRubyにこだわる必要はありませんが、意識的に人にプログラミングを説明する機会を持つのは非常に良いことです。

概念やロジックを日本語で説明できればきちんと理解したうえでプログラミングもできるので、混乱したりよくわからないままコピペするようなことがなくなります。

未完成な部分も多い

逆引きRubyは有志が編集していく形式なので明確なゴールはありません。そのため情報が無限に更新されていけば良いのですが、現状は完璧とは遠いと言えます。基本的な事項はある程度網羅されているのですが、まず情報の深さという観点で言えばそこまで深くはないでしょう。

それについては上でディレクトリを例に挙げて説明した通りです。しかし、情報の深さが足りないというだけでなく、基本事項以外の情報が不足しています。具体例としては、[ネットワーク]や[データベース]は枠組みのみ用意されており、まだなんの説明もされていません。

今後二ページ目以降にどのような説明を記載するのかもおそらくまったく決まっていない状況なので、自分の文章できちんと説明する練習をして、それをネット上に公開するチャンスでもあります。

個人ブログなどで情報発信する機会のある方はそれで問題ありませんが、そういったものを使っていない方は、ぜひネット上で情報発信する機会を持つと良いかと思います。逆引きRubyの未完成部分を埋めていくことで、人に説明しつつ理解を深めていくことができます。

項目を自分で追加することも可能なので、Rubyで気づいたことを他の人と共有する、自分の言葉でまとめることで学習効果を高める、といった目的で逆引きRubyを使う方法があります。

ライブラリやフレームワークやツールの説明があると便利

逆引きRubyはRubyに関する基本事項についてはある程度網羅されており、またネットワークやデータベースといった関連情報についても今後解説が充実していくと思われます。しかし、ライブラリ、フレームワーク、ツール、といった開発に便利な情報が足りていません。

つまり、Rubyの基本的な知識を学ぶには良いサイトですが、実践的に使うには改良の余地があるということです。自分のメモ書きや他のプログラマーとの情報共有として、上記のような情報を書き込むと良いでしょう。

とはいえ特に逆引きRubyに情報を追加するメリットはそれほどないので、個人で技術ブログ等を立ち上げて備忘録、頭のなかの情報整理、他のプログラマーとの情報共有等の目的で活用するのが良いかと思います。

技術ブログはアクセスが伸びれば収益化のチャンスがあり、そうでなくても自分自身の勉強になります。面倒くさいというデメリットはありますが、メリットが多いのでチャレンジする価値があります。

技術力アップのためには情報収集はもちろん情報発信もした方が良いということでした。

Ruby関連記事
1, Rubyフリーランスの仕事や単価、ruby on railsの在宅案件まで
2, Rubyとは?学習方法や将来性、perlやphp、Pythonの比較はどう?
3, Ruby on RailsでMySQLを使用する際の接続手順
4, あるiOSアプリのエンジニアがRuby on Railsのプロジェクトに加わった話
5, 小学生でも数時間でアプリを作れたRuby on railsの入門書3選
6, 【決定版!】Rubyでできることとは?
7, Ruby開発の新卒採用している会社まとめ
8, Rubyで文字列から数値へ変換する方法まとめ
9, RubyのWebサーバ「puma」を使ってみた感想
10, Rubyでのmecabの使い方を徹底解説します
11, Rubyでハッシュに対する繰り返し処理を行うeachの3つのメソッドの使い方
12, Rubyのyardを使ってソースからドキュメントを生成する方法
13, Rubyでディレクトリ内のファイルを一覧出来るようにする方法
14, Rubyを使ってcsvファイルを読み込む・書き込む方法まとめ
15, MacでRubyの開発環境構築する方法をまとめました
16, サーバーサイド開発言語としてのRubyってどうなの?
17, Rubyで範囲オブジェクトを配列にする方法
18, CentOSサーバにRubyをインストールする方法
19, (この記事)Rubyを使ってやりたいことから逆引きで使える機能を解説します
20, Rubyでopen uriを使ってWeb上のデータを取得しよう
21, Rubyでハッシュをマージ(結合)する方法まとめ
22, Rubyのrakeの使い方をまとめました
23, Rubyでのtimeクラスの取扱に関してのまとめ

人気記事

編集部おすすめ記事

この記事を読んだ人はこんな記事を読んでいます

案件探しやフリーランスになるための相談する