我正在开发一个创建随机句子的应用程序。我有它作为控制台应用程序工作,并希望制作一个Sinatra应用程序,让我在浏览器上显示句子。
我有一个从表单填充的变量@grammar。我想将这个方法传递给一个方法,这些方法一起工作以接收字符串并使用大量逻辑从中生成随机句子。我的rsg.erb文件看起来像这样。
其中'波浪预示着今晚的黄色大花。'是expand方法的输出。我想在erb文件上显示它,以便它显示在浏览器上。
我该怎么做?
答案 0 :(得分:1)
你可以试试这个:
<%= @grammar %>
<%-# Assigning values to the variables in first step %>
<%-
rds = read_grammar_defs(@grammar) #get text from file and parse
sds = rds.map { |rd| split_definition rd} #use split definition to make array of strings
tgh = to_grammar_hash(sds) #create hash
rs = expand(tgh) #create sentence
%>
<%-# Printing it in second step %>
<%= rs %>