草庐IT

map元素个数

全部标签

ruby - 如何获取 capybara 中的隐藏元素值?

我需要获取隐藏元素的值。我尝试了以下代码:page.find(:xpath,"//span[@id='sample']").text它返回零。 最佳答案 您可以简单地找到隐藏的元素并获取它的值。find('#sample',visible:false).value很简单;) 关于ruby-如何获取capybara中的隐藏元素值?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15

ruby - 通过类属性的部分匹配获取所有元素

我正在尝试使用Nokogiri显示来自URL的结果。(本质上是抓取一个URL)。我有一些HTML类似于:MattyMatthewSuzie所以我需要找到所有以单词“matt”开头的元素。我需要做的是保存元素的值和元素名称,以便下次我可以引用它..所以我需要捕获"Matty"and"""Matthew"and""我还没有想出如何捕获元素HTML,但这是我目前拥有的元素(它不起作用!)doc=Nokogiri::HTML(open(url))tmp=""doc.xpath("[class*=matt").eachdo|item|tmp+=item.textend@testy2=tmp

ruby - 如何在不使用 block 的情况下在 Ruby 中计算 'map'?

我知道我可以用Ruby做到这一点:['a','b'].mapdo|s|s.to_symend得到这个:[:a,:b]我正在寻找一种不使用block的更简洁的方法。不幸的是,这不起作用:['a','b'].map#to_sym我可以比使用初始代码做得更好吗? 最佳答案 阅读一些关于Symbol#to_proc的内容:['a','b'].map(&:to_sym)#or['a','b'].map&:to_sym#Eitherwillresultin[:a,:b]如果您使用的是Ruby1.8.7或更高版本,或者如果您使用的是Rails,则

ruby-on-rails - map(& :name) do in this Ruby code? 是什么意思

为了更好地理解Ruby,我在网上冲浪时遇到了这段代码:require'rubygems'require'activeresource'ActiveResource::Base.logger=Logger.new("#{File.dirname(__FILE__)}/events.log")classEvent"Shortesteventevar!",:starts_at=>1.second.ago,:capacity=>25,:price=>10.00)e.destroy我特别感兴趣的是events.map(&:name)是如何工作的?我看到events是一个数组,因此它调用了它的ma

ruby-on-rails - 访问哈希元素时未定义的方法

哈希:p:{:headline=>"ManagingDirectoratTestcompanyname",:pid=>"0tSsRvCR7r",:first_name=>"John",:last_name=>"Doe",:industry=>"FinancialServices",:summary=>nil,:public_profile_url=>"http://www.linkedin.com/pub/john-doe/7a/78/606",:distance=>0}尝试调用p.pid但出现错误:EXCEPTION:undefinedmethod`pid'for#所有其他元素都可以

ruby - 创建一个人类可读的列表,在 ruby​​ 列表的最后一个元素之前插入 "and"

如何将列表变成逗号分隔的字符串,并在数组中的最后一个元素之前加上“and”?像这样:list1=['a','b','c']然后把它变成这样:=>"a,b,andc"我记得ruby​​有一个方法可以做到这一点。然而我已经搜索过了,并没有找到它。感谢您的帮助。 最佳答案 尝试:[list[0...-1].join(","),list.last].join(",and")。编辑:Rails有您可能正在寻找的方法,称为to_sentence.如果您没有Rails或不想依赖Rails,请打开Array类并包含上述方法,例如:classArra

ruby - 使用 bsearch 查找用于将新元素插入排序数组的索引

我有一个已排序的唯一数组,我想高效地向其中插入一个不在数组中的元素,如下所示:a=[1,2,4,5,6]new_elm=3insert_at=a.bsearch_index{|x|x>new_elm}#=>2a.insert(insert_at,new_elm)#nowa=[1,2,3,4,5,6]方法bsearch_index不存在:只有bsearch,它返回匹配元素而不是匹配元素的索引。是否有任何内置方法可以实现此目的? 最佳答案 您可以使用each_with_index返回的Enumerator对象返回一个嵌套的[value,

ruby-on-rails - 从数组中检索 x 个随机元素

我正在努力编写一个干净的方法,当传递一个字符串数组和x时返回一个随机的数组元素列表,总计x,例如。defgetrandomarrayelements(thearray,howmany)return[something]end是的,我应该提交我现有的代码,虽然效果不好,但它有8行长,我觉得它可以一次完成?! 最佳答案 在ruby1.9中:irb(main):001:0>[1,2,3,4,5].sample(3)=>[2,4,5]irb(main):002:0>[1,2,3,4,5].sample(3)=>[2,5,3]对于ruby​​

ruby - 删除 Ruby 数组中相邻的相同元素?

ruby1.8.6我有一个包含数值的数组。我想减少它,以便将相同值的序列减少为该值的单个实例。所以我想a=[1,1,1,2,2,3,3,3,3,2,2,2,3,3,3]减少到[1,2,3,2,3]如您所见,Array#uniq在这种情况下不起作用。我有以下有效的方法:(a.size-1).downto(1){|i|a[i]=nilifa[i-1]==a[i]}谁能想出不那么丑陋的东西? 最佳答案 对于最简单、最精简的解决方案,您可以使用方法Enumerable#chunk:a.chunk(&:itself).map(&:first)

ruby - 获取 block 参数个数

我需要获取给定block采用的参数数量。例如:foobar(1,2,3){|a,b,c|}deffoobar(x,y,z,&block)#needtoobtainnumberofargumentsinblock#whichwouldbe3inthisexampleend这在1.9主干中是可能的,但在任何官方版本中都不是。我希望是否有任何方法可以做到这一点而无需下载单独的gem/扩展模块。 最佳答案 当你用&实现一个block时,它就变成了一个Proc对象,它有一个arity方法。请注意-如果proc采用*splatarg,它会返回一