我正在學習ruby腳本語言。我正在用紅寶石進行練習。 因爲我有一個問題。我需要在瀏覽器中顯示ruby輸出。如何在瀏覽器中顯示ruby輸出?
例如,我有一個ruby腳本,名爲hello.rb。它將打印「Hello world消息」。通常,如果我們使用ruby解釋器執行此操作,它將在終端中打印它。我需要通過調用ruby腳本在瀏覽器中打印hello world消息。
爲此,我在互聯網上提到。因爲他們告訴你需要安裝寶石'傾斜'。
沒有安裝任何寶石,我們如何實現這一目標?
在此先感謝!
我正在學習ruby腳本語言。我正在用紅寶石進行練習。 因爲我有一個問題。我需要在瀏覽器中顯示ruby輸出。如何在瀏覽器中顯示ruby輸出?
例如,我有一個ruby腳本,名爲hello.rb。它將打印「Hello world消息」。通常,如果我們使用ruby解釋器執行此操作,它將在終端中打印它。我需要通過調用ruby腳本在瀏覽器中打印hello world消息。
爲此,我在互聯網上提到。因爲他們告訴你需要安裝寶石'傾斜'。
沒有安裝任何寶石,我們如何實現這一目標?
在此先感謝!
Ruby帶有一個簡單的web服務器,webrick。下面的代碼使用的WEBrick實現一個簡單的「你好,世界」 Web服務器:」
require "webrick"
server = WEBrick::HTTPServer.new(Port: 8000)
server.mount_proc "/" do |req, res|
res.body = "Hello, world!\n"
end
server.start
運行時,它打印一些日誌輸出,以表明它正在運行,並且準備好服務請求:
[2016-07-22 12:02:01] INFO WEBrick 1.3.1
[2016-07-22 12:02:01] INFO ruby 2.3.1 (2016-04-26) [x86_64-linux]
[2016-07-22 12:02:01] INFO WEBrick::HTTPServer#start: pid=16318 port=8000
我用的* nix實用捲曲給服務器發送一個請求:
[email protected]:~$ curl localhost:8000
Hello, world!
Althou呃我用捲曲,任何網絡瀏覽器也會工作。啓動程序後,把你的網頁瀏覽器:
http://localhost:8000
無需安裝任何寶石,有什麼不一樣西納特拉或者Rails Web框架意味着你將不得不自己建立一個HTTP服務器(見的[示例](HTTPS: //www.practicingruby.com/articles/implementing-an-http-file-server))。該服務器至少需要能夠接受請求,運行腳本,捕獲腳本的輸出,然後使用輸出呈現html文檔並將其返回給瀏覽器。這太寬了 爲一個stackoverflow問題。也許你可以開始關注鏈接的文章,並在遇到問題時詢問更具體的問題。 – spickermann
@spickermann你一定是在開玩笑:)即使是簡單的'cgi-bin'也可以。任何現有的Web服務器都可能執行外部可執行文件並呈現輸出。但是對於這個問題,這仍然過於寬泛。 – mudasobwa
@mudasobwa我讀到這個問題,好像他想要使用沒有任何寶石的普通Ruby。我想這意味着沒有任何其他外部依賴(如需要安裝Web服務器)。如果OP有機會詳細闡述這些要求,那將會很棒。 – spickermann