(Ruby)にディレクトリを追加する
概要
現在実行中のファイルのディレクトリを (または $:) に追加するためによく使用される 2 つのテクニックを見てきました。 gem を使用していない場合にこれを行うことの利点がわかります。明らかに、一方の方が他方よりも冗長に見えますが、一方を他方よりも選択する理由はあるのでしょうか?
最初の冗長な方法 (やりすぎになる可能性があります):
$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) unless $LOAD_PATH.include?(File.expand_path(File.dirname(__FILE__)))
そして、より単純で手っ取り早い方法は次のとおりです。
$:.unshift File.dirname(__FILE__)
どちらかを選択する理由はありますか?
解決策
Ruby のロード パスは $: として記述されることがよく見られますが、短いからといって改善されるわけではありません。賢さよりも明快さを好む場合、または簡潔さ自体がむずむずする場合は、他の人がそうであるという理由だけでそうする必要はありません。 …に挨拶してください。
$LOAD_PATH
…そして別れを告げる…
# I don't quite understand what this is doing...
$: