草庐IT

list_lines

全部标签

ruby parslet : parsing multiple lines

我正在寻找一种匹配多行Parslet的方法。代码如下所示:rule(:line){(match('$').absent?>>any).repeat>>match('$')}rule(:lines){line.repeat}但是,lines将始终以无限循环结束,这是因为match('$')将无休止地重复以匹配字符串的结尾。是否可以匹配可以为空的多行?irb(main)>lines.parse($stdin.read)Thisisamultilinestring^D应该匹配成功。我错过了什么吗?我还尝试了(match('$').absent?>>any.maybe).repeat(1)>>

ruby-on-rails - Rails - Carrierwave 进程抛出 ArgumentError : no images in this image list

在尝试实现应用auto_orient的过程之后!对于我的图片,我收到此错误:ArgumentError(noimagesinthisimagelist):app/uploaders/image_uploader.rb:36:in`fix_exif_rotation'app/controllers/posts_controller.rb:12:in`create'Carrierwave在没有进程的情况下工作正常,但在添加进程后尝试上传图像时抛出错误。流程如下:process:fix_exif_rotationdeffix_exif_rotationmanipulate!do|image|

ruby-on-rails - 将 acts_as_list 与 has_many 一起使用 :through in rails

我有一个Rails应用程序,我正在尝试使用acts_as_list插件设置可排序列表。数据库中的位置字段正在更新,但是在呈现页面时,不考虑顺序。我想我是在寻求帮助。这是我的模型...classQuestionMembership:question_membershipsendclassQuestion:question_membershipsacts_as_listend还有给我列表的草率View代码...>true)%>拖放用于重新排序。数据库中QuestionMembership对象的位置值更新,页面实际上正确显示重新排序。问题是在页面重新加载时,它默认返回到它感觉的任何顺序。我认

ruby - 如何将字符串格式的毫秒数转换为 HH :MM:SS format in Ruby in under 3 lines of code?

@scores_raw.eachdo|score_raw|#belowiscodeiftimewasbeingsentinmillisecondshh=((score_raw.score.to_i)/100)/3600mm=(hh-hh.to_i)*60ss=(mm-mm.to_i)*60crumbs=[hh,mm,ss]sum=crumbs.first.to_i*3600+crumbs[1].to_i*60+crumbs.last.to_i@scoressum,:hms=>hh.round.to_s+":"+mm.round.to_s+":"+ss.round.to_s}@score

ruby - Rubocop 规则 : Never use 'do' with multi-line 'while

我有以下代码#coloursarandomcellwithacorrectcolourdefcolour_random!whiletruedocol,row=rand(columns),rand(rows)cell=self[row,col]ifcell.empty?thencell.should_be_filled??cell.colour!(1):cell.colour!(0)breakendendend做什么并不重要,尽管它应该很明显。关键是Rubocop给了我一个警告Neveruse'do'withmulti-line'while为什么我不应该那样做?那我该怎么办呢?

ruby-on-rails - rails : Form Select From Array/List Instance Variable

我有一个Rails应用程序,其中有一个表单选择(下拉列表)。例如,用户可以从1,2,3,4,5中选择例如,我将这些值作为实例变量存储在数组中,例如:@formlist=[1,2,3,4,5]我怎样才能简单地将数组放入表单选择助手而不是单独列出每个项目。目前我的代码是:"1",2=>"2",3=>"3",4=>"4",5=>"5"})%> 最佳答案 这应该有效:f.select(:heat_level,@formlist.map{|value|[value,value]})一些解释:formselect可以处理类似哈希和类似数组的选项

ruby - 在 ruby​​ 中优雅地实现 'map (+1) list'

title中的短代码是在Haskell中,它做了类似的事情list.map{|x|x+1}ruby。虽然我知道那种方式,但我想知道的是,是否有更优雅的方式来像在Haskell中一样在ruby​​中实现同样的事情。我真的很喜欢ruby​​中的to_proc快捷方式,就像这样:[1,2,3,4].map(&:to_s)[1,2,3,4].inject(&:+)但这只接受Proc和方法之间完全匹配的参数数。我正在尝试寻找一种方法,允许将一个或多个参数额外传递到Proc,而不像第一个演示那样使用无用的临时block/变量。我想这样做:[1,2,3,4].map(&:+(1))ruby是否有类似

ruby - 在 ruby​​ 中,file.readlines.each 并不比 file.open.each_line 快,为什么?

只是为了分析我的iis日志(奖励:碰巧知道iislog是用ASCII编码的,errrr..)这是我的ruby代码1.readlinesDir.glob("*.log").eachdo|filename|File.readlines(filename,:encoding=>"ASCII").eachdo|line|#commentlineifline[0]=='#'nextelseline_content=line.downcase#justcareaboutfirstonematched_keyword=keywords.select{|e|line_content.include?e

ruby each_line 也读取换行符?

我正在尝试从文本文件中读取数据并将其与帖子字符串连接起来。当文件中只有一行时,它工作正常。但是有2行,我的请求失败了。each_line是否读取换行符?我该如何纠正它?File.open('sfzh.txt','r'){|f|f.each_line{|row|send(row)}我确实通过拆分和额外的定界符绕过了这个问题。但它看起来很丑。 最佳答案 是的,each_line包括换行符。但是您可以使用chomp轻松剥离它们:File.foreach('test1.rb')do|line|sendline.chompend

ruby - RubyMine 中的 "Get Available Generators List"警告。我该如何摆脱这个?

我正在使用RubyMine5.4.1并使用ruby​​1.9.3-p0创建一个新的rails3.2.9应用程序,并收到以下警告。我相信bundler当时正在运行install。警告标题为“GetAvailableGeneratorsList”,并发出以下警告,第一个是“Getavailablegeneratorsscriptexecuteswitherrors”:这是在告诉我我必须提供一个“secret”来让future版本的rake正常运行,还是在告诉我提供“secret”只是一个临时修复,但不适用于rake的future版本?如何永久修复此警告,以便我可以接受rake,并处理漏洞?