0

fatfreecrm (https://github.com/fatfreecrm/fat_free_crm) という ruby​​ on rails アプリを読み込もうとしています。

自分のマシンで Rails 開発サーバーを実行できません。次の行が原因でコードが失敗します。

spec = Bundler.load_gemspec(Dir["./{,*}.gemspec"].first)

(プロジェクト Gemfile の 32 行目: https://github.com/fatfreecrm/fat_free_crm/blob/master/Gemfile )。

問題を診断しようとしていますが、これが何をするのか理解できません。具体的には、どのディレクトリ["./{, *}.gemspec"を参照していますか? {, *}略語 がわかりません。

ありがとう
エヴァン

4

1 に答える 1

1

これは、展開されるオプションのリストに対する標準の Unix シェル glob 構文です。つまり、Unix シェルで

foo{a, b, c}bar

に拡張されます

fooabar foobbar foocbar

そう、

./{, *}.gemspec

に拡張されます

./.gemspec ./*.gemspec

RubyDir::[]では、これらはシェルのように展開されませんが、正規表現の動作と同様に、ファイル名を照合するためのパターンとして扱われます。

詳細については、 のドキュメントを参照している のドキュメントを参照Dir::[]Dir::globてください。

于 2012-08-13T19:20:03.233 に答える