2012-08-10 47 views
0

我最近開始學習Ruby on Rails,並試圖編寫一個允許通過鍵盤進行一點用戶交互的程序。Ruby:從鍵盤讀取信息

在過去,我大多隻使用Java,所以我想知道Ruby與readKeyboard方法等價的是什麼,以及如何使用它?

我的程序只是一個簡單的程序,它將包含學生,課程和模塊列表,並允許用戶向學生註冊課程,並將他們列入該課程運行的模塊。

我有一個名爲「模塊」級,目前看起來是這樣的:

class Module 
    # To change this template use File | Settings | File Templates. 
    @@moduleScheme = nil 

    def initialize(v) 
    @val = v 
    end 
    # Set and get the @val object value 
    def set (v) 
@val = v 
    end 
    def get 
    return @val 
    end 

    def addModule 
    moduleName = Module.new(30) 
    moduleRefNo = ran(100) 
    moduleYear(4) 
    end 

    def addModuleToScheme 
    moduleName.moduleScheme = schemeName 
    end 
    def removeModuleFromScheme 
    moduleName.moduleScheme = nil 
    end 

    def queryModule 

    end 

end 

隨着「queryModule」功能,我希望用戶能夠指定要查詢哪些模塊,由輸入模塊的唯一標識符。據推測,我會用'puts'來表示這就是用戶需要做的事情?但後來我不知道我會怎麼讀用戶在鍵盤上鍵入的任何內容。有人能指出我正確的方向嗎?

回答

0

Ruby(就Rails而言)是服務器端的,所以它不會直接涉及用戶交互。你會開始在前端處理它(html,javascript等)

就邏輯而言,發佈人類互動,你也可以在前端完成(Javascript),或者如果您確實需要Ruby on Rails來利用這些交互,您偶爾會執行AJAX調用(或類似)來發送相關信息。

但是:如果用戶直接在控制檯上,則可以使用gets而不是puts讀取輸入; puts將打印到命令行。

+0

是的,我想我會用'puts'來告訴用戶他們需要做什麼,例如一條指令說:「你想查詢哪個模塊?」這是對的嗎? 好的,謝謝,這真的很有幫助。你會推薦使用哪種AJAX或JavaScript?或者在使用其他方面方面沒有太大區別/優勢? – Someone2088 2012-08-11 11:19:23

+0

那麼AJAX是Javascript。這是一種使用Javascript聯繫您的服務器,並處理部分頁面響應(意味着整個頁面不會重新加載,您只更新其中的一小部分,就像網站在搜索時自動完成)的方式。因此,兩者之間的選擇應該是您是否可以在Javascript上執行所有操作(更快),或者您的服務器需要知道用戶輸入的內容。 – DRobinson 2012-08-11 14:53:04