1. プロジェクトのディレクトリ構成
Whittleプロジェクトのディレクトリ構成は以下の通りです:
whittle/
├── examples/
├── lib/
├── spec/
├── .gitignore
├── .rspec
├── Gemfile
├── LICENSE
├── README.md
├── Rakefile
└── whittle.gemspec
ディレクトリの説明:
- examples/: Whittleパーサーの使用方法を示すサンプルコードが含まれています
- lib/: Whittleパーサーの実装を含む、プロジェクトのコアライブラリ
- spec/: Whittleパーサーの機能を検証するためのテストコード
- .gitignore: Gitが管理しないファイルやディレクトリを指定する設定ファイル
- .rspec: RSpecテストフレームワークの設定ファイル
- Gemfile: Rubyプロジェクトの依存関係を管理するファイル
- LICENSE: プロジェクトのオープンソースライセンスファイル(MITライセンスを使用)
- README.md: プロジェクトの概要、インストール方法、使用例などを含むドキュメント
- Rakefile: プロジェクトの自動化タスクを定義するファイル
- whittle.gemspec: Gemパッケージのメタデータと依存情報を含むファイル
2. プロジェクトの利用方法
Whittleはライブラリプロジェクトであるため、特定の「起動ファイル」は存在しません。以下の手順でWhittleパーサーを利用できます:
- Whittleのインストール: RubyGemsを使用してWhittleをインストールします:
gem install whittle
- Rubyファイルの作成:
parser.rbのような新しいRubyファイルを作成し、Whittleをrequireします:
require 'whittle'
- パーサーの定義: Whittleのドキュメントに基づき、パーサークラスを定義します:
class Calculator < Whittle::Parser
rule("-")
rule(:number => /[0-9]+/) { |num| Integer(num) }
rule(:expression) do |r|
r[:number, "-", :number] { |a, _, b| a - b }
end
start(:expression)
end
- パーサーの実行: ファイルの末尾でパーサークラスのインスタンスを作成し、parseメソッドを呼び出して入力を解析します:
calculator = Calculator.new
result = calculator.parse("5-3")
puts result # 出力: 2
- Rubyファイルの実行: ターミナルでRubyファイルを実行します:
ruby parser.rb
3. 設定ファイルについて
Whittleはライブラリプロジェクトであるため、複雑な設定は不要です。主な設定は以下のファイルで行われます:
- Gemfile: プロジェクトの依存関係を管理します。
Gemfileを編集して依存関係を追加または削除できます - whittle.gemspec: Gemパッケージのメタデータと依存情報を含みます。WhittleのGemパッケージを公開または更新する場合は、このファイルを編集します
- .rspec: RSpecテストフレームワークの設定です。このファイルを編集してRSpecの動作を調整できます
これらのファイルは、新しい依存関係を追加するか、テスト設定を調整しない限り、頻繁に編集する必要はありません。