标签: ruby

如何在两个浮点数之间的范围内最好地创建随机浮点数

我知道我可以使用rand(max)生成随机浮点数.我试图在一个范围内生成一个浮点数,这应该不难.但是例如rand(1.4512)返回0,因此rand不用浮点数计算.现在我尝试了一个小技巧,将事物转换为整数,然后在我想要的范围内随机化一个拟合数,然后将它计算回浮点数......这是不行的.

我的问题是如何以更好的方式做到这一点.如果没有更好的方法,为什么这个不起作用?(也许对我来说太晚了,我应该在2小时前开始睡觉了......).整个过程旨在成为计算数据库记录的"位置"字段的方法,以便用户可以手动订购它们.我之前从未做过这样的事情,也许有人可以用更好的解决方案暗示我.

这是迄今为止的代码:

def calculate_position(@elements, index)
    min = @elements[index].position

    if @elements[index + 1].nil?
        pos = min + 1
    else
        pos = min + (rand(@elements[index + 1].position * 10000000000) / 10000000000)
    end

    return pos
end
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby

39
推荐指数
3
解决办法
3万
查看次数

在一组字符串中查找最长的公共起始子字符串

对于一个相对微不足道的问题,提出最优雅的JavaScript,Ruby或其他解决方案是一项挑战.

此问题是最长公共子字符串问题的更具体情况.我只需要在数组中找到最长的公共起始子字符串.这大大简化了问题.

例如,最长的子串[interspecies, interstelar, interstate]是"inters".但是,我不需要找到"ific" [specifics, terrific].

我已经通过快速编写JavaScript解决方案来解决这个问题,作为我关于类似shell的选项卡完成的答案的一部分(这里是测试页面).这是解决方案,略有调整:

function common_substring(data) {
  var i, ch, memo, idx = 0
  do {
    memo = null
    for (i=0; i < data.length; i++) {
      ch = data[i].charAt(idx)
      if (!ch) break
      if (!memo) memo = ch
      else if (ch != memo) break
    }
  } while (i == data.length && idx < data.length && ++idx)

  return (data[0] || '').slice(0, idx)
}
Run Code Online (Sandbox Code Playgroud)

代码在此Gist中提供,以及Ruby中的类似解决方案.您可以将gist克隆为git repo来试用它: …

javascript ruby python haskell longest-prefix

39
推荐指数
6
解决办法
3万
查看次数

如何在使用SASS for Ruby on Rails时使用border-radius属性删除导航栏圆角?

我是一个名为One Month Rails的课程的新编程和学习bootstrap.我想删除反向导航栏上的圆角,但我很难过.我已查看下面链接中的两个stackoverflow线程但仍然遇到问题.

目前我有一个名为"Bootstrap_and_customization.css.scss"的文件,它有以下代码:

$body-bg:   #95a5a6;
$border-radius: 0px;
@import 'bootstrap';
Run Code Online (Sandbox Code Playgroud)

但是,边框半径仍然是圆形的.我希望我提供了足够的信息,但我可能没有,请告诉我.

谢谢

=====链接:

摆脱Twitter Bootstrap中的所有圆角

/sf/ask/1464856571/

css ruby ruby-on-rails twitter-bootstrap

39
推荐指数
5
解决办法
9万
查看次数

STDERR.puts与Ruby中的put有什么不同?

我正在学习Programming Ruby 1.9中的语言,并且他们在本书的早期将STDERR.puts写入了一个代码块,而没有解释他们为什么使用它或者它与puts有什么不同.

我用谷歌搜索并解释了这个术语,但我从研究中得到的只是它涉及诊断.编程Ruby提供的代码中没有任何地方似乎存在错误异常处理的链接.

这是代码.

require_relative 'csv_reader'
reader = CsvReader.new
ARGV.each do |csv_file_name|
  STDERR.puts "Processing #{csv_file_name}"
  reader.read_in_csv_data(csv_file_name)
end
Run Code Online (Sandbox Code Playgroud)

我确实设法在某处读取STDERR.puts用于错误处理的约定,但我想我问它是否与puts有什么不同.

ruby stderr

39
推荐指数
2
解决办法
3万
查看次数

如何通过Rack提供静态文件?

我目前正在开发基于Rack的应用程序,并希望将所有文件请求(例如filename.filetype)重定向到指定的文件夹.

Rack :: Static仅支持特殊文件夹的文件请求(例如"/ media").

我是否必须编写自己的Rack中间件或是否存在开箱即用的解决方案?

最好的祝福

ruby static rack file

38
推荐指数
3
解决办法
2万
查看次数

Ruby on Rails:有条件地显示部分

我不确定我是否在这里做最好的方法,但是我有一个数据块,我想在搜索完成之后显示并且之前根本不存在.首先,没有什么可以显示,第二个它引用的模型是零,所以它抛出异常.

我将此块放在一个部分模板中,并在我的布局中添加了适当的位置.有条件干净地渲染局部的方法吗?有没有更好的方法来解决这个问题?

ruby ruby-on-rails partial-views

38
推荐指数
2
解决办法
2万
查看次数

Rails生成has_many关联

有没有办法Rails generate scaffold在控制台中使用命令为列生成has_many关联?

我知道belongs_to是可用的,有用例references但不确定has_many

ruby ruby-on-rails ruby-on-rails-4

38
推荐指数
1
解决办法
3万
查看次数

rails控制台中没有数据库连接

我的rails应用程序在运行时工作正常,rake db:migrate但是当我尝试启动rails控制台时出现问题.

2.0.0p247 :003 > User
 => User(no database connection)
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails-4

38
推荐指数
3
解决办法
1万
查看次数

如何检查是否安装了宝石?

我为Sinatra项目安装了data_mapper.好奇,为什么我这样做gem install brew,我可以$ which brew得到它的位置的路径,不能为data_mapper?这适用于某些宝石而不适用于其他宝石.

如何验证宝石安装是否正确?检查版本会确保gem正确下载吗?

ruby gem

38
推荐指数
2
解决办法
4万
查看次数

检查字符串是否包含多个子字符串之一

我有一个很长的字符串变量,想知道它是否包含两个子串中的一个.

例如

haystack = 'this one is pretty long'
needle1 = 'whatever'
needle2 = 'pretty'
Run Code Online (Sandbox Code Playgroud)

现在我需要像这样的脱节,但在Ruby中不起作用:

if haystack.include? needle1 || haystack.include? needle2
    puts "needle found within haystack"
end
Run Code Online (Sandbox Code Playgroud)

ruby string ruby-on-rails ruby-2.1

38
推荐指数
6
解决办法
5万
查看次数