這基本上是關於Ruby控制檯(IRB)的一個很小問題,但我無法在任何地方找到答案。所以。當寫在Ruby中的控制檯,然後在它的中間按Enter鍵一份聲明中,有時控制檯希望我繼續發言,並開始尋找這樣的:Ruby控制檯多行
紅寶石1.9.2-P180:093" >
「這基本上告訴我(我想)Ruby期望我完成前一行的陳述。但是,我無法完成它或取消聲明。再次按Enter不會有幫助,如果我在此處輸入某些內容,Ruby還會停止計算其他語句。
那麼,這是什麼模式,以及如何處理它?
這基本上是關於Ruby控制檯(IRB)的一個很小問題,但我無法在任何地方找到答案。所以。當寫在Ruby中的控制檯,然後在它的中間按Enter鍵一份聲明中,有時控制檯希望我繼續發言,並開始尋找這樣的:Ruby控制檯多行
紅寶石1.9.2-P180:093" >
「這基本上告訴我(我想)Ruby期望我完成前一行的陳述。但是,我無法完成它或取消聲明。再次按Enter不會有幫助,如果我在此處輸入某些內容,Ruby還會停止計算其他語句。
那麼,這是什麼模式,以及如何處理它?
這意味着你的報價是不平衡的;輸入報價。
irb(main):004:0> s="this is
irb(main):005:0" a test"
=> "this is\na test"
您也可以打Ctrl-C
<Return>
,這將下降到根提示。 Ctrl-D
會讓您回到提示,但是下一個<Return>
會因未終止的報價而引發錯誤。
或者,使用pry,它可讓您使用!
轉回到頂層。
您仍然可以完成前面的說明。 Ruby告訴你,你在前一行打開了一個雙引號字符串,並沒有關閉它。只需輸入"
;結果可能是語法錯誤,但至少你的控制檯會再次變得可用。
引號"
表示您處於字符串中間。您可以關閉該字符串,或者如果您按Ctrl-C
它應該殺死當前的語句。
謝謝,就是這樣!也感謝撬鏈接。 – 2012-02-08 09:17:01