草庐IT

随机整数

全部标签

ruby - 如何在 Ruby 中生成 a 和 b 之间的随机数?

例如,要生成3到10之间的随机数,我使用:rand(8)+3有没有更好的方法来做到这一点(比如rand(3,10))? 最佳答案 更新:Ruby1.9.3Kernel#rand也接受范围rand(a..b)http://www.rubyinside.com/ruby-1-9-3-introduction-and-changes-5428.html转换为数组可能代价太大,而且没有必要。(a..b).to_a.sample或者[*a..b].sampleArray#sampleRuby1.8.7+中的标准。注:在1.8.7被命名为#ch

ruby - 在 Ruby 中将整数转换为十六进制字符串

是否有一种内置方法可以将Ruby中的整数转换为其等效的十六进制数?类似于String#to_i的反义词:"0A".to_i(16)#=>10也许像:"0A".hex#=>10我知道如何自己动手,但使用内置的Ruby函数可能更有效。 最佳答案 你可以给to_s10以外的基数:10.to_s(16)#=>"a"请注意,在ruby​​2.4中,FixNum和BigNum统一在Integer类中。如果您使用的是旧版ruby,请查看FixNum#to_s的文档和BigNum#to_s 关于ruby

ruby - 为什么 Ruby 中的除法返回整数而不是十进制值?

例如:9/5#=>1但我期望1.8。如何获得正确的小数(非整数)结果?为什么它会返回1? 最佳答案 它正在做整数除法。您可以使用to_f强制事物进入浮点模式:9.to_f/5#=>1.89/5.to_f#=>1.8如果您的值是变量而不是文字,这也适用。将一个值转换为float足以将整个表达式强制转换为浮点运算。 关于ruby-为什么Ruby中的除法返回整数而不是十进制值?,我们在StackOverflow上找到一个类似的问题: https://stackove

ruby - 我如何从数组中随机选择?

我想知道是否有更简洁的方法来执行此操作。基本上,我想从可变长度的数组中选择一个随机元素。通常,我会这样做:myArray=["stuff","widget","ruby","goodies","java","emerald","etc"]item=myArray[rand(myarray.length)]有没有更易读/更简单的东西来替换第二行?或者这是最好的方法。我想你可以做myArray.shuffle.first,但我几分钟前才在SO上看到#shuffle,我还没有真正使用它。 最佳答案 只需使用Array#sample:[:f

ruby - 如何在 Ruby 中生成随机字符串

我目前正在为“A”..“Z”生成一个8个字符的伪随机大写字符串:value="";8.times{value但它看起来不干净,而且不能作为参数传递,因为它不是单个语句。为了获得大小写混合的字符串“a”..“z”加上“A”..“Z”,我将其更改为:value="";8.times{value但它看起来像垃圾。有没有人有更好的方法? 最佳答案 (0...8).map{(65+rand(26)).chr}.join我打高尔夫球的时间太多了。(0...50).map{('a'..'z').to_a[rand(26)]}.join最后一个更令

ruby-on-rails - 如何在 Ruby 中获取随机数

如何生成介于0和n之间的随机数? 最佳答案 使用rand(range)来自RubyRandomNumbers:Ifyouneededarandomintegertosimulatearollofasix-sideddie,you'duse:1+rand(6).Arollincrapscouldbesimulatedwith2+rand(6)+rand(6).Finally,ifyoujustneedarandomfloat,justcallrandwithnoarguments.作为Marc-AndréLafortune在hisan

javascript - 随机数组生成的意外行为

这个问题在这里已经有了答案:Howtosortanarrayofintegerscorrectly(32个答案)Howtosortnumbers?[duplicate](4个答案)关闭6年前。我试图生成一个10到1000之间的随机数数组,按降序排列。这是我写的代码:functionGenerateRandomArray(){vararray=[];for(vari=0;i在终端中运行时,这是我得到的结果:newGenerateRandomArray()=>[924,804,79,788,585,451,267,217,153,135]newGenerateRandomArray()=>

javascript - 映射整数范围的最佳 d3 比例

我想构建一个比例尺,将一系列连续整数(字符串中字符的索引)映射到另一个整数范围(像素,比如0-600)中的规则间隔。也就是说,我想尽可能有规律地将字符分配给像素,反之亦然,一个字符的长度不一定是另一个的倍数。例如,我希望将[0,1,2,3]映射到400像素0->0-991->100-1992->200-2993->300-399反之0-99->0100-199->1200-299->2300-399->3虽然对于0-4000到400像素的映射,我希望0-9->010-19->1etc.d3中对此使用的最佳比例是多少?一方面,如果元素数量很大,我担心离散尺度不会使用域被等分的事实并生成巨

javascript - 如何优化接受正整数并返回下一个较小正整数的函数?

我正在尝试编写一个函数,它接受一个正整数并返回包含相同数字的下一个较小的正整数,如果没有包含相同数字的较小数字则返回-1。Forexample:nextSmaller(21)==12nextSmaller(531)==513nextSmaller(2071)==2017我写了一个解决这个问题的代码,但我真的不知道如何进一步优化它。请你帮助我好吗?它在repl.it上运行得相当快,但是当我提交它时,它说它需要超过1200毫秒并且不允许我提交它,即使所有测试都通过了。functionnextSmaller(n){varnArray=n.toString().split("")varmini

javascript - 在 node.js 中将整数转换为日期

我正在尝试使用node.js和日期将整数转换为日期。我知道这是一个很常见的问题,但之前发布的所有解决方案都无法帮助我。我正在从位于http://api.guardian.gg/chart/elo/4611686018432537994的json文件中获取日期,示例日期:1461110400000我尝试过的:vardate=String(newDate(elodata.x));和vardate=String(newDate(parseInt(elodata.x)));但结果我得到了无效的日期。我意识到这可能不可行,因为我不知道guardian.gg如何处理这些数据。但你永远不知道。