0
は、レールの起動スクリプトは、次のコードを持っている理由:ARGV.shiftがレールに起動スクリプト
require 'rubygems'
version = ">= 0"
if ARGV.first
str = ARGV.first
str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
version = $1
ARGV.shift
end
end
gem 'railties', version
load Gem.bin_path('railties', 'rails', version)
はなぜARGV.shift
をやっていますか?私たちが議論を消費した後、あるいは何らかの理由でそれを行う必要があるのであれば、それはARGVを扱う標準的な方法ですか?
私の疑問は、最後の行にロードされているGemが 'ARGV 'で渡された引数を使用し、起動スクリプト自体のための最初の引数が制御の前に' ARGV'から削除される必要があるということですRailsが未知の議論について不平を言うのを防ぐためにRailsに渡されました。 – Linuxios
はい、意味があります。このラッパーコードは、このバージョン設定機能を与えるためにすべてのgemに追加されます。 ARGV定数がRailsに渡されていることを認識していませんでした。ありがとう –
それはあなたの質問に答える、私はそれを答えることができます。 – Linuxios