疑問メモ: Rubyプロジェクトのディレクトリ構造

ジム行ったり本読んだりしていたら三連休あっという間に終わってしまった。

Rubyで簡単なプログラムを作り始めたら、わからないことや覚えたことがいろいろ出てきたので書く。

Rubyプロジェクトのディレクトリ構造

定石がわからない。

githubで他の人のプロジェクトを見ると、libディレクトリ以下にコードが置いてある。あれは何かのビルドツール(rakeとか)やフレームワークを前提にした構成なんだろうか?

(追記 2015/01/16)コメントいただいた内容を確認しました。gemの雛形からRubyプロジェクトの標準的なディレクトリ構造を確認する - 虎塚

class or module or struct

moduleはメソッドしか定義できない。structは属性しか定義できない。だからだいたいClass使っておけばよいと聞いた。

同じディレクトリにある他の.rbファイルを読み込む方法

require("./ファイル名")

拡張子を書かなくても動いたけど、書いた方がよいのかどうか不明。相対パスにしなければならなくなったのは、1.9.xからとのこと。

小さいプログラムを作るなら、まずは1枚の.rbにどんどん書いていって、後から分割すればいいらしい。

ブロックコメントの書き方

=begin
ブロックコメント
ブロックコメント
ブロックコメント
=end

これは新鮮だった。/* */じゃないんですね。

追記(2015/01/13)

PerlのPODからじゃなかったかな。

https://twitter.com/finalfusion/status/554770541710540801

ありがとうございます。

文が 始まる部分の行頭の=beginから、=endで始まる行までが 埋め込みドキュメントです。Ruby インタプリタとしては内容に縛りは かけませんが、通常は RD 形式でドキュメントを埋め込むことを 期待しています。

埋め込みドキュメント

RD形式というのがあるんですね。

RDとはRuby版のPODです。つまりRubyスクリプトファイルの中に埋め込む事を意図して 定義されたドキュメントフォーマットです。

Rabbit - RD