Tag: 得到

rails – 如何使用参数进行GET请求操作

我希望这个问题相当简单,因为我对rails开发相对较新。 我试图从具有指定操作的控制器发出get请求并传递所需的参数。 这是助手类中的相关代码: module ChartsHelper def chart_tag (action, height, params = {}) params[:format] ||= :json path = charts_path(action, params) content_tag(:div, :’data-chart’ => path, :style => “height: #{height}px;”) do image_tag(‘loading.gif’, :size => ’32×32′, :class => ‘spinner’) end end end 以及ChartsController中的相应操作: class ChartsController { :type => ‘AreaChart’, :cols => [[‘string’, ‘Date’], [‘number’, ‘subscriptions’]], :rows => (1..days).to_a.inject([]) do […]

ruby中的打印function

我是ruby初学者。 我有以下代码,询问用户他的名字并打印回来。 print ‘Enter your name : ‘ name = gets() print(“Hey,#{name} !”) 如果我输入John Doe作为名称,则输出如下 Hey,John Doe ! print不同于puts不会在输出后自动添加新行但我注意到在上面的例子中我在#{name}之后输入的任何内容都打印在一个新行上。 为什么会这样?

Ruby – ‘gets’添加换行符

我写了这个: print “Enter your name:” name = gets puts “Hello #{name}. Please to meet you.” 结果是这样的: Hello Moemen . Pleased to meet you 为什么变量后面的字符串的剩余部分继续在另一行? 我希望它是”Hello Moemen. Pleased to meet you.” 我错过了什么吗? 我正在使用sublime text 2,我无法获取让我输入数据的gets方法; 它只是在控制台中输出结果,而没有让我有机会输入任何东西。 任何的想法?

Ruby gets()没有返回正确的字符串

我决定在听到所有关于它的好东西之后给Ruby一个机会,但到目前为止它只给了我一个艰难的时间。 很久以前我在学习Python时创建了一个“搜索引擎”,它只是将数据存储在数组中并检查搜索关键字是否在其中,我一直在尝试在Ruby中做同样的事情。 虽然它不像Python那样直观,但我的搜索function正常运行。 但是,我在处理用户输入时遇到了麻烦。 我想检查输入是否等于插入 , 搜索和退出 ,但它只是不起作用。 我真的不知道如何使用获取,所以我假设问题与获取有关。 while true puts ‘What do you want to do?’ choice = $stdin.gets puts choice # => quit if choice == ‘quit’ break end end if语句不起作用。 我到底做错了什么? 为了上帝的缘故,这在C ++中是微不足道的! 我真的很感激一些帮助。 Ruby对我来说太陌生了……谢谢!

Ruby’获取’可以在多行上运行

使用IRB,我想输入一个多行字符串,以便从中删除某些字符。 “gets”只允许一行 – 对于多行是否有类似的function。 ASCII_project.rb(main):002:0* puts = “What’s the text you want to strip?” => “What’s the text you want to strip?” ASCII_project.rb(main):003:0> str = gets 我现在想要粘贴一段文本 – 由于新行不起作用。 这就是我想收集多行的原因 这是代码 # encoding: CP850 puts = “What’s the text you want to strip?” str = gets str.gsub!(/\P{ASCII}/, ”) puts str

关于ruby“得到”的问题

我想知道为什么当我试图得到不同的输入它忽略了我的第二个输入。 #!/usr/bin/env ruby #—–Class Definitions—- class Animal attr_accessor :type, :weight end class Dog < Animal attr_accessor :name def speak puts "Woof!" end end #——————————- puts puts "Hello World!" puts new_dog = Dog.new print "What is the dog's new name? " name = gets puts print "Would you like #{name} to speak? (y or n) " […]

gets.chomp没有移动到新的行

我理解在puts和gets结束时自动完成的,以及如何处理这些,但有没有办法保持显示点(“光标位置”,如果你愿意)移动到新线点击输入后获取输入? 例如 print ‘Hello, my name is ‘ a = gets.chomp print ‘, what’s your name?’ 最终看起来像 你好,我叫Jeremiah,你的名字是什么?

在gets()中从Ruby中损坏的TCP套接字恢复

我正在读取TCP套接字上的输入行,类似于: class Bla def getcmd @sock.gets unless @sock.closed? end def start srv = TCPServer.new(5000) @sock = srv.accept while ! @sock.closed? ans = getcmd end end end 如果端点在getline()运行时终止连接,则gets()挂起。 我该如何解决这个问题? 是否有必要进行非阻塞或定时I / O?

Sinatra和问号

我需要用Sinatra制作一些看起来像的方法: 访问http //:本地主机:1234 /添加string_to_add 但是,当我宣布它是这样的: get “/add?:string_to_add” do … end 它没有看到string_to_add参数。 我应该如何声明我的方法并使用此参数来使事情有效?

当参数传递给我的ruby脚本时,为什么会抛出错误?

我正在使用gets来暂停我的脚本输出,直到用户点击回车键。 如果我没有将任何参数传递给我的脚本,那么它可以正常工作。 但是,如果我将任何参数传递给我的脚本,则会因以下错误而死亡: ruby main.rb -i main.rb:74:in `gets’: No such file or directory – -i (Errno::ENOENT) from main.rb:74:in `gets’ … 错误消息显示我传递给脚本的参数。 为什么会看到ARGV? 我正在使用OptionParser来解析我的命令行参数。 如果我使用parse! 而不是parse (所以它删除它从参数列表中解析的东西)然后应用程序工作正常。 所以看起来像是因为某种原因读取了ARGV。 为什么? 这是预期的吗? 有没有办法让它不这样做(做gets()没有帮助)。