Sinatra 脚本不工作
Sinatra script not working
我是 Ruby 的新手,只想要一个可以找到素数并打印出来的网页。而已。我想用 Sinatra 框架来做。这是我的代码:
#require 'prime'
require 'sinatra'
def primes(size)
arr=(0..size).to_a
arr[0]=nil
arr[1]=nil
max=size
(size/2+1).times do |n|
if(arr[n]!=nil) then
cnt=2*n
while cnt <= max do
arr[cnt]=nil
cnt+=n
end
end
end
arr.compact!
end
set :port, 8080
set :static, true
set :public_folder, "static"
set :views, "views"
get '/' do
#return 'Hello world'
return puts primes(10)
end
我通过 http://localhost:8080/
运行 这个脚本,但我什么也没看到。只是一个空白页。具有相同脚本的 Hello World 工作正常。 primes
函数也可以完美运行,我已经通过命令行对其进行了测试。我做错了什么?
问题是 return puts primes(10)
.
行
puts
只是将输出输出到 STDOUT(控制台)而不是 HTTP 响应(网页内容)。此外,我仍然认为 return 数组到 Sinatra 会是一个问题,因为它使用数组传递有关响应的附加数据,因此如果你想测试这个脚本,如果你更改提到的行,它可能会起作用至:
primes(10).to_s
to_s
将您的数组转换为字符串。
我是 Ruby 的新手,只想要一个可以找到素数并打印出来的网页。而已。我想用 Sinatra 框架来做。这是我的代码:
#require 'prime'
require 'sinatra'
def primes(size)
arr=(0..size).to_a
arr[0]=nil
arr[1]=nil
max=size
(size/2+1).times do |n|
if(arr[n]!=nil) then
cnt=2*n
while cnt <= max do
arr[cnt]=nil
cnt+=n
end
end
end
arr.compact!
end
set :port, 8080
set :static, true
set :public_folder, "static"
set :views, "views"
get '/' do
#return 'Hello world'
return puts primes(10)
end
我通过 http://localhost:8080/
运行 这个脚本,但我什么也没看到。只是一个空白页。具有相同脚本的 Hello World 工作正常。 primes
函数也可以完美运行,我已经通过命令行对其进行了测试。我做错了什么?
问题是 return puts primes(10)
.
puts
只是将输出输出到 STDOUT(控制台)而不是 HTTP 响应(网页内容)。此外,我仍然认为 return 数组到 Sinatra 会是一个问题,因为它使用数组传递有关响应的附加数据,因此如果你想测试这个脚本,如果你更改提到的行,它可能会起作用至:
primes(10).to_s
to_s
将您的数组转换为字符串。