ARGV.first
特定のテキストを検索できるように、ユーザー入力を文字列に変換するにはどうすればよいですか?
私は作成しようとしましたcheckifinstring = #{ARGV.first}.join("")
`checkifinstring =~ /s/
ARGV.first
特定のテキストを検索できるように、ユーザー入力を文字列に変換するにはどうすればよいですか?
私は作成しようとしましたcheckifinstring = #{ARGV.first}.join("")
`checkifinstring =~ /s/
ARGVについて何か読んだことがあれば、それが文字列の配列であることがわかります。
これは配列であるため、ウォークしたり、そこから個々の要素を抽出したり、要素を結合して 1 つの長い文字列を作成したりできます。
いくつかのコードを書いてみて、いくつかの追加パラメーターを指定してコマンドラインから実行してください。次のようなプラグイン行:
puts ARGV.first
puts ARGV.last
puts ARGV.join(' ')
ARGV.each_with_index do |arg, i|
puts "arg ##{ i } ==> #{ arg }"
end
最初の行はスクリプトに渡された最初のパラメーターを返し、2 番目は最後になり、3 番目の行は渡されたコマンドの適切な複製になります。残りの行は、スクリプトに渡された各引数をそのインデックスと共に返します。番号。
それを「test.rb」として保存し、コマンドラインから実行しました。
ruby ~/Desktop/test.rb one two three four
そして、この出力を得ました:
one
four
one two three four
arg #0 ==> one
arg #1 ==> two
arg #2 ==> three
arg #3 ==> four
このことを知ったら、あとは簡単です。
ARGV.first['on'] # => "on"
ARGV.first['an'] # => nil
上記が意味をなさない場合はString[]
、部分文字列の一致の使用を掘り下げてください。
コマンドライン パラメーターを使用する場合は、パラメーターを渡すために独自のシステムを再発明しようとするのではなく、Ruby のOptionParserクラスに依存することを強くお勧めします。これははるかに洗練された強力なものであり、フラグ、オプションおよび必須のパラメーター、長い名前と短い名前、組み込みのヘルプを使用して、スクリプトに標準のコマンドライン インターフェイスを提供し、入力値を文字列から整数および配列に変換することができます。 . OptionParser のドキュメントはあまりよくありませんが、私たちがお手伝いします。
ARGVには、実行可能ファイルの名前を含む最初の値で ruby を実行するために使用されるコマンド ライン引数が含まれます。
スクリプトに渡された引数を要素ごとに 1 つずつ含む ARGV 配列を返します。
例えば:
$ ruby argv.rb file1 file2
ARGV #=> ["file1", "file2"]
ARGV.first #=> "file1"
あなたの質問から、文字列の配列を取得した場合、その配列から入力文字列を簡単に検索できます
ARGV.select{|f| f == "file1"}
それがあなたを助けることを願っています