Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在Sinatra中创建函数?_Ruby_Function_Methods_Frameworks_Sinatra - Fatal编程技术网

Ruby 如何在Sinatra中创建函数?

Ruby 如何在Sinatra中创建函数?,ruby,function,methods,frameworks,sinatra,Ruby,Function,Methods,Frameworks,Sinatra,我有一个Sinatra脚本,我有一个通用的方法或一组在多个地方使用的操作,我想把它抽象成一个方法。我找不到帮助我完成这项工作的文档,请问有人有什么想法吗 典型的脚本如下所示: require 'sinatra' get '/' do 'Hello world!' end get '/statement' do 'Hello world!' end 如果我想创建一个名为问候语()的函数,该函数将为/和/语句显示“Hello world”,那么语法是什么?您是否尝试过使用def?Sinat

我有一个Sinatra脚本,我有一个通用的方法或一组在多个地方使用的操作,我想把它抽象成一个方法。我找不到帮助我完成这项工作的文档,请问有人有什么想法吗

典型的脚本如下所示:

require 'sinatra'

get '/' do
 'Hello world!'
end

get '/statement' do
 'Hello world!'
end

如果我想创建一个名为
问候语()
的函数,该函数将为
/
/语句
显示“Hello world”,那么语法是什么?

您是否尝试过使用
def
?Sinatra使用DSL,但这并不排除正常的Ruby功能

require 'sinatra'

def greetings()
  'Hello world!'
end

get '/' do
  greetings()
end

get '/statement' do
  greetings()
end

将其保存到“test.rb”并使用
ruby test.rb运行它,然后连接到运行实例:
http://localhost:4567
让我看到两个处理程序都使用
问候语()

进行响应。您是否尝试过使用
def
?Sinatra使用DSL,但这并不排除正常的Ruby功能

require 'sinatra'

def greetings()
  'Hello world!'
end

get '/' do
  greetings()
end

get '/statement' do
  greetings()
end

将其保存到“test.rb”并使用
ruby test.rb运行它,然后连接到运行实例:
http://localhost:4567
让我看到其中一个处理程序使用
问候语()进行响应

Sinatra支持一个“helpers”块:

Sinatra支持一个“helpers”块:

只是为了直观地向OP指示那些是方法。只是为了直观地向OP指示那些是方法。