jjzjj

number_sorted

全部标签

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 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 - Ruby 的 sort 方法使用哪种算法?

当我使用nativesort方法对数组进行排序时,Ruby使用哪种算法?它是否依赖于数据,即如果数据很小,它使用X算法,否则它使用Y算法?是稳定排序吗?平均时间复杂度是多少? 最佳答案 看这里:http://www.igvita.com/2009/03/26/ruby-algorithms-sorting-trie-heaps/不过,它本身使用快速排序,平均复杂度为nlogn。 关于ruby-Ruby的sort方法使用哪种算法?,我们在StackOverflow上找到一个类似的问题:

ruby - "wrong number of arguments (1 for 0)"在 Ruby 中是什么意思?

“参数错误:参数数量错误(1代表0)”是什么意思? 最佳答案 当您定义一个函数时,您还定义了该函数需要工作的信息(参数)。如果它被设计为在没有任何额外信息的情况下工作,并且你传递了一些信息,你就会得到那个错误。例子:不接受参数:defdogend接受参数:defcat(name)end当你调用它们时,你需要用你定义的参数来调用它们。dog#worksfinecat("Fluffy")#worksfinedog("Fido")#ReturnsArgumentError(1for0)cat#ReturnsArgumentError(0f

arrays - 传递 block 时 Array#sort 如何工作?

我在理解array.sort{|x,y|的方式时遇到问题block}工作正常,因此如何使用它?来自Rubydocumentation的示例:a=["d","a","e","c","b"]a.sort#=>["a","b","c","d","e"]a.sort{|x,y|yx}#=>["e","d","c","b","a"] 最佳答案 在你的例子中a.sort相当于a.sort{|x,y|xy}如您所知,要对数组进行排序,您需要能够比较其元素(如果您怀疑这一点,只需尝试在不使用任何比较的情况下实现任何排序算法,不是、>、或>=)。您提

ruby-on-rails - ruby rails : How do you add add zeros in front of a number if it's under 10?

我想像这样将一位数转换为两位数:9==>095==>0512==124==>04我认为我可以放置一堆if-else语句(如果数字小于10,则执行gsub)但我认为那是可怕的编码。我知道Rails有number_with_precision但我发现它只适用于十进制数。关于如何将个位数转换为两位数有什么想法吗? 最佳答案 很多人使用sprintf(这是正确的做法),我认为如果你想对字符串执行此操作,最好保留注意rjust和ljust方法:"4".rjust(2,'0')这将使“4”右对齐,方法是确保它至少有2个字符长,并用“0”填充它。

ruby-on-rails - rails : Is there a rails trick to adding commas to large numbers?

有没有办法让Rails打印出一个带逗号的数字?例如,如果我有一个数字54000000.34,我可以运行,它会打印出“54,000,000.34”谢谢! 最佳答案 你想要number_with_delimiter方法。例如:',')%>或者,您可以使用number_with_precision确保数字始终以小数点后两位精度显示的方法:2,:delimiter=>',')%> 关于ruby-on-rails-rails:Istherearailstricktoaddingcommastola

javascript - EXTJS 5 : How to sort grid column in EXT JS 5

我最近将EXTJS的版本更新到5,并且覆盖doSort函数不再有效。有人知道怎么做吗?覆盖示例:{text:'Custom',sortable:true,dataIndex:'customsort',doSort:function(state){vards=this.up('grid').getStore();varfield=this.getSortParam();ds.sort({property:field,direction:state,sorterFn:function(v1,v2){v1=v1.get(field);v2=v2.get(field);returnv1.len

javascript - 为什么使用 Number.parseInt 而不是 parseInt()?

来自documentation:ThismethodbehavesidenticallytotheglobalfunctionparseInt()但是,由于它是实验性的,thecompatibility最差。例如,在IE或Safari中不可用。那么,开发人员为什么要使用Number.parseInt()? 最佳答案 鼓励使用Number.parseInt而不是parseInt()是因为JavaScript社区有一种远离使用全局变量的趋势。关于Number.parseInt的Mozilla文档指出:...andispartofECMA