Techioz Blog

(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...
$: