[英]Ruby - How to use -r switch with ruby command line tool
我試圖弄清楚如何使用命令行開關-r。
我的理解是,代碼鍵入如下:
ruby -r*nameOfRequired*
我發現情況並非如此。 當我輸入上面的內容並按Enter鍵時,終端期望“輸入語法結束”並且不會繼續。
我想念什么? 開關和所需文件名之間是否需要有空格?
謝謝,麻煩您了!
編輯:我目前正在閱讀David A. Black撰寫的“ The Well Grounded Rubyist”,並且在閱讀命令行開關部分時想到了這個問題。
話雖如此,我創建了一個“ test.rb”文件,其中包含:
puts Date.today
然后,在終端中,我輸入:
ruby -r date
我認為這將“需要”日期模塊,然后使我能夠使用ruby test.rb(如果我位於正確的目錄中)運行“ test.rb”文件。
而是,終端光標移動到換行符,期望更多輸入。 讓我知道是否需要其他說明。 謝謝!
如果您只是鍵入ruby -r
module ,那么Ruby將加載該模塊並等待您鍵入需要該模塊的主程序。
如果您只想運行模塊而不做其他任何事情,則可以在不使用-r
或ruby -r
module -e exit
或ruby -r
module </dev/null
情況下執行ruby
full-path-to-module 。或類似。
根據ruby -h
:
-rlibrary需要庫,然后才能執行腳本
它不提供腳本文件路徑,而是從stdin中讀取腳本。
嘗試執行以下操作(給-e command
時,可以省略腳本文件路徑):
ruby -r**nameOfRequired** -e ""
通常, ruby
命令不會記錄從一次運行到下一次運行的任何狀態,因此您需要在每次運行時告訴它需要知道的每件事。
每當您運行它時,都需要告訴它要運行的主程序,否則它將期望您在標准輸入上鍵入該程序。 -r
未指定主程序。
嘗試這個:
ruby -rdate test.rb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.