1

ルビーにコードがあります

Dir.glob("my_folder/*.rb").each { |r| require_relative r}

私はほとんど理解していますが、以下のコードが機能しない理由を確認したいです

Dir.glob("my_folder/*.rb").each(&:require_relative)

のエラーによりNoMethodError: private method require_relative' called for "my_folder/one.rb":String

これだからか

Dir.glob("controllers/*.rb").each(&:require_relative)

に等しい

Dir.glob("controllers/*.rb").each{ |r| r.require_relative }

?

4

1 に答える 1

2

あなたは正しいです、それは

 .each{ |r| r.require_relative}

& はto_proc、オブジェクト (この場合はシンボル) をSymbol呼び出し、それを実装して、オブジェクトを呼び出す新しい Proc を作成します。

于 2013-01-12T11:13:19.993 に答える