jjzjj

selection-sort

全部标签

ruby - Ruby 的 sort_by {rand} 是如何工作的?

我认为这是一个很棒的Ruby单行代码:someArray.sort_by{rand}它简洁明了,可读性强,而且行之有效-但我不太明白如何操作。这是我所知道的:rand计算为0到1之间的数字(例如0.783468632804653)rand在上面的代码中被重复计算,因为将它分配给x首先会破坏随机排序sort_by{0.783468632804653},或我试过的任何其他数字,对数组没有影响ruby-doc.org对我帮助不大inthiscase.谁能一步一步解释一下?更新我现在使用Ruby的时间更长了,我发现我在这里遗漏了一两个概念。关键是:rand是一种方法(定义在内核上);它生成一个

ruby sort_by 方法

我刚开始学习ruby。我有一个哈希数组。我希望能够根据散列中的元素对数组进行排序。我想我应该可以使用sort_by方法。有人可以帮忙吗?#arrayofhashesarray=[]hash1={:name=>"john",:age=>23}hash2={:name=>"tom",:age=>45}hash3={:name=>"adam",:age=>3}array.push(hash1,hash2,hash3)puts(array)这是我的sort_by代码:#sortbynamearray.sort_bydo|item|item[:name]endputs(array)数组没有任何变

ruby-on-rails - sort_by 在 Rails 中使用 boolean 值

我知道Ruby中的boolean值是类。但是从实用的角度来看,有没有一种方法可以按boolean值对数组进行排序(即,所有具有真值的元素在前)?谢谢。 最佳答案 你可以作弊并让它返回一个数字:sort_by{|a|a.thing?0:1} 关于ruby-on-rails-sort_by在Rails中使用boolean值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8737111

ruby - 如何将自定义比较器传递给 "sort"?

A类具有以下比较器:classAattr_accessorxdefmy_comparator(a)x**2(a.x)**2endend我想使用这个比较器对每个项目都属于A类的数组进行排序:classBdefmy_methoditems.sort!()endend我应该如何将my_comparator传递给sort!? 最佳答案 定义你自己的,并包括Comparable。这是来自Comparabledoc:classSizeMattersincludeComparableattr:strdef(an_other)str.sizean_

ruby-on-rails - 如何从 Rails 中的 date_select 或 select_date 获取日期?

使用select_date返回一个params[:my_date]和year,month和day属性。如何轻松获取Date对象?我希望得到像params[:my_date].to_date这样的东西。我也很乐意使用date_select。 最佳答案 使用date_select分别为日、月和年提供3个独立的键/值对。因此,您可以将它们作为参数传递到Date.new中以创建新的Date对象。Event模型的date_select返回参数示例:"event"=>{"name"=>"Birthday","date(1i)"=>"2012",

ruby-on-rails - rails erb 表单助手 options_for_select :selected

我在erb中有一个编辑表单。在代码中我有一个带有选项的选择::gender)%>但是,选择没有显示正确的选择值。我做错了什么?如果我对其进行硬编码,我可以让它工作,但这当然不是一个可行的选择。 最佳答案 在您的代码中,您的options_for_select()调用将所选值设置为“性别”,并且不会尝试使用表单对象中的值。请参阅options_for_select()的文档用于使用示例。options_for_select(['Mare','Stallion','Gelding'],f.object.gender)options_fo

ruby - "find_all"和 "select"是一回事吗?

这两个语句给我相同的结果:[1,2,3,4].find_all{|x|x.even?}[1,2,3,4].select{|x|x.even?}find_all只是一个别名吗?有理由使用一个而不是另一个吗? 最佳答案 #find_all和#select非常相似;差异非常微妙。在大多数情况下,它们是等价的。这取决于实现它的类。Enumerable#find_all和Enumerable#select在同一代码上运行。Array和Range也是如此,因为它们使用Enumerable实现。在Hash的情况下,#select被重新定义为返回一

ruby sort_by 多个字段

我正在运行Ruby1.9.3p392。Item=Struct.new(:name,:dir,:sort_dir)entries=ftp.list()entries.map!{|e|Net::FTP::List.parse(e)}.map!{|e|Item.new(e.basename,e.dir?,(e.dir??0:1))}renderjson:entries.sort_by{|e|[e.sort_dir,e.name]}出于某种原因,我没有得到预期的结果。我确实首先获取了所有文件夹,然后是所有文件,但是,名称排序失败。例如,我为我的文件夹获取了这些:内容图片本对于文件:全局.asa

ruby-on-rails - 如何在 ruby​​ 中使用 sort_by 按字母顺序对数组进行排序?

我有一组成员资格。每个成员中都有一个组。我需要按组名对这个成员资格数组进行排序。我尝试了很多不同的方法,最新的方法是这样的:@memberships.sort_by!{|m|m.group.name}但是,这不按名称排序。它似乎是对数组进行随机排序。成员属于:组组has_many:memberships@memberships等于:[{id:2141,user_id:491,group_id:271,member_type:"member",group:{id:271,name:"Derek's",privacy:"open",bio_image_url:"/bio_images/me

ruby-on-rails - 我可以在 select_tag 中包含空白字段吗?

是否可以在select_tag方法中添加类似:include_blank=>'PleaseSelect'的选项,就像使用select方法?好像不行。select_tag方法有什么替代方法吗? 最佳答案 在Rails3中,select_tag有一个:prompt选项:select_tag"things",many_thing_as_options,:prompt=>"Pleaseselect" 关于ruby-on-rails-我可以在select_tag中包含空白字段吗?,我们在Stack