好吧,我所擁有的是一個ruby文件,它接受一個輸入,並將它寫入另一個ruby文件。我不想把它寫成一個文本文件,因爲我試圖將這個項目插入到一個Hash中,以後可以在程序的另一個運行中訪問它,這隻能通過將信息寫入文本文件或另一個文件紅寶石文件。在這種情況下,我想它被寫入到另一個紅寶石file.Here的第一個文件:使用ruby寫入ruby文件
test_text=gets.chomp
to_write_to=File.open("rubylib.rb", "a")
test_text="hobby => #{test_test},"
to_write_to.puts test_text
這將插入在頁面底部的給定信息。另一個文件是這樣的:(rubylib.rb)
user_info={
"name" => "bob",,
"favorite_color" => "red"
}
我有三重問題:
1)是否有可能加入test_text到哈希右括號過嗎?
2)使用這種方法,運行rubylib.rb文件時,會將添加的文本解析爲代碼或其他內容?
3)有沒有更好的方法來做到這一點?
我想要做的是實際上將新數據寫入哈希,以便在下次運行文件時仍然存在,以存儲有關用戶的數據。因爲如果我按正常方式添加它,則在下次運行文件時它將丟失。有沒有辦法在不寫入文本文件的情況下在ruby文件的運行之間存儲數據?
我已經盡了最大的努力給你提供你需要的信息,並盡我所能地解釋情況。如果您需要澄清或更多信息,請留下評論,我會盡力回覆評論。
感謝您的幫助
你試圖做的是非常危險的 - 這是可能的用戶通過寫輸出的到達紅寶石文件執行任意Ruby代碼。 – hjing
你爲什麼要在磁盤上存儲信息?這根本不會擴展。 –
@theTinMan停止編輯它我不希望你改變它。我以我想要的方式擁有它。 –