Rubymin和max如何比较字符串? | 您所在的位置:网站首页 › pat文件怎么安装 › Rubymin和max如何比较字符串? |
我正在玩迭代器.什么是Ruby比较使用max和min? 如果我有这个数组: word_array = ["hi", "bob", "how's", "it", "going"]我跑: puts word_array.max puts word_array.min我希望得到"前进"或"如何" max,因为它们都是五个字符长,或"理论上"它是阵列中的最后一项.我希望min返回"hi"或"it",因为它们是最短的字符串.相反,我回来了: puts word_array.max -> it puts word_array.min -> bob什么是Ruby测量来做出判断?它选择了最短的字符串max和一个中等长度的字符串min. 1> Jörg W Mitta..: 实际上,你是(有点)问错了问题.max并min定义于Enumerable.他们对Strings 一无所知. 他们使用组合比较运算符(又名"宇宙飞船").(注意:几乎任何比较两个对象的方法都是使用运算符.这是Ruby中的一般规则,你可以在使用其他人编写的对象时依赖它,并且在编写自己的对象时应该遵循:你的对象将相互比较,你应该实现运算符.) 所以,你应该问的问题是,String#比较Strings?不幸的是,答案在文档中并不十分清楚.但是,它确实提到如果两个字符串相等于该点,则认为较短的字符串小于较长的字符串.因此,很明显长度仅用作打破平局,而不是主要标准(正如您在问题中假设的那样). 实际上,词典排序是最自然的事情.如果我给你一个单词列表并要求你在不给你任何标准的情况下订购它们,你会按照长度或字母顺序排序吗?(注意,然而,这意味着'20'是小于 '3'). |
CopyRight 2018-2019 实验室设备网 版权所有 |