我的Rails3应用程序中有一个模型,它有一个date字段:classCreateJobsfalse...t.timestampsendend...end我想用随机日期值预填充我的数据库。生成随机日期的最简单方法是什么? 最佳答案 这是对Chris的答案的轻微扩展,带有可选的from和to参数:deftime_randfrom=0.0,to=Time.nowTime.at(from+rand*(to.to_f-from.to_f))end>time_rand=>1977-11-0204:42:020100>time_randTime
此外,如何将其格式化为用零填充的字符串? 最佳答案 用表达式“10的10次方”的结果生成数字调用randrand(10**10)要用零填充数字,您可以使用字符串格式运算符'%010d'%rand(10**10)或者字符串的rjust方法rand(10**10).to_s.rjust(10,'0') 关于ruby-如何在ruby中生成一个随机的10位数字?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c
我有一个简单的数组:arr=["apples","bananas","coconuts","watermelons"]我还有一个函数f,它将对单个字符串输入执行操作并返回一个值。此操作非常昂贵,因此我想将结果存储在哈希中。我知道我可以用这样的东西制作所需的散列:h={}arr.each{|a|h[a]=f(a)}我想做的是不必初始化h,这样我就可以这样写:h=arr.(???){|a|a=>f(a)}可以吗? 最佳答案 假设你有一个名字很有趣的函数:“f”deff(fruit)fruit+"!"endarr=["apples","b
我想向我的RubyonRails网络应用程序添加一些饼图、条形图和散点图。我希望它们具有吸引力,易于添加并且不会引入太多开销。您会推荐哪种图表解决方案?它有什么缺点(需要Javascript、Flash、价格昂贵等)? 最佳答案 GoogleCharts如果您不想使用Flash,这是一个很好的选择。它本身很容易使用,但对于Rails,使用gchartrb会更容易gem。一个例子:GoogleChart::PieChart.new('320x200',"ThingsILikeToEat",false)do|pc|pc.data"Bro
我有一个使用GUID很容易解决的问题。特别是,对于密码重置工作流,我想将GUIDtoken发送到用户的电子邮件,并让他们使用该token重置密码。由于GUID是唯一的,这非常安全并且省去了我通过电子邮件向其他人发送密码的风险,这是有风险的。我注意到有一个uuidgem@rubyforge但它看起来很旧,并且会向文件系统写入内容。有谁知道可以创建全局唯一标识符的任何其他gem?我知道我可以退回到:(0..16).to_a.map{|a|rand(16).to_s(16)}.join但它看起来不像是一个合适的GUID... 最佳答案 从
例如,要生成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
我目前正在为“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最后一个更令
我试图列出在for循环中使用计数器作为unicode字符的编号。这样做的目的,...可以说我这样做是为了好玩。当然,经验丰富的JavaScript用户能够告诉我这里出了什么问题。要在javascript中使用unicode字符,可以按原样输入,也可以使用转义序列,例如:\u8211。当我尝试将数字部分与转义的u结合起来时,我的问题就出现了。我得到的错误类似于“错误的转义字符”,这意味着i变量中的数字未与\u组合正如我所希望的那样。for(vari=65;i我尝试过的:character="\u{"+i+"}"cha=['\\u'];cha.push(i);cha.join('');..
我有以下目录结构:root||_package.json|_Gruntfile.js||_javascripts/|_ts/file.ts在Gruntfile中我有这个://ProjectConfiggrunt.initConfig({pkg:grunt.file.readJSON('package.json'),typescript:{base:{src:['./javascripts/ts/*.ts'],dest:'./javascripts/'}}});我希望js文件位于javascripts/目录中。但是,当我运行grunttypescript时,它会创建这个奇怪的目录结构:r
当今的网络浏览器(Chrome、IE、Safari和Firefox)的状态如何,它们创建加密强度高的UUID的能力如何?在研究这个问题时,我一直无法找到任何确定的东西。我在stackoverflow和其他地方看到了指向Math.random问题的信息,但我想知道这一切的当前状态。更新正如icktoofay指出的那样,crypto.getRandomValues是执行此操作的方法。不幸的是,跨浏览器的支持是有限的。有没有行之有效的方法来解决这个问题?是否有任何JavaScript库可以解决这个问题? 最佳答案 在有它的浏览器中,你可以