标签: ruby

如何在Ruby中将整数舍入到<最接近的大数>?

说我有以下任何一个数字:

230957或83487或4785

在Ruby中有什么方法我可以分别返回300000或90000或5000?

ruby rounding significant-digits

9
推荐指数
2
解决办法
6368
查看次数

9
推荐指数
2
解决办法
5297
查看次数

确保字符串是时间或日期格式?

我有一个方法将字符串解析为日期,但我想验证我不会尝试解析非数字字符串或代表日期或时间格式的字符串?

我怎样才能做到这一点?

目前我有:

if(string=~ /^\D*$/ )
{
return false
else 
do something_else
}
Run Code Online (Sandbox Code Playgroud)

这对于非数字字符串很好,"UNKNOWN"但不适用"UNKNOWN1"

知道我可以用什么来确保只解析日期或时间格式?

ruby regex

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

在$ SAFE> = 1的ruby中可能存在哪些漏洞?

Ruby的安全模式不允许通过潜在的危险操作使用受污染的数据.它的级别不同,0表示禁用,然后1-4表示安全级别.启用安全模式后可能存在哪些漏洞?你知道在安全模式启用时发给ruby程序的任何CVE编号吗?在启用安全模式的情况下,CWE违规(或cwe系列)可能是什么?

ruby security

9
推荐指数
2
解决办法
1314
查看次数

阻止Rails 2/3缓存Lib/Classes

有谁知道如何指示rails不缓存lib文件夹中包含的类?

ruby optimization caching ruby-on-rails class

9
推荐指数
2
解决办法
1770
查看次数

使用动态类型语言进行重构

好吧,我不是想在这里开始一场火焰战争,我知道静态语言和动态语言之间的争论已被多次删除,包括这里.但我有一个非常实际的问题,希望这里有人可以提供一些启示.抱歉长度,但这不是一个简单的问题,可能不是一个简单的答案.

Ruby,PHP和Javascript现在是非常流行的语言,他们有很多人为他们辩护,并认为动态类型不会让开发人员退缩.我是这些语言的新手,并希望开始将它们用于更大的项目,但这里是一个基本的重构场景,一直在工作(work == C#),我想知道这种方法是什么Ruby - 我之所以选择Ruby是因为它是OO.

好的,我正在使用Ruby,我构建了一个Customer对象.它具有从数据库加载/保存/删除的方法.很好,人们使用它.我为其他东西添加了更多方法,人们更多地使用它.我添加了一种基于某些参数计算订单历史的方法.到目前为止,这个类正在整个系统中使用.然后,有一天我决定更改GetOrderHistory方法的参数.所以我:

  • 将新参数添加到方法中
  • 重写方法的代码以使用新参数
  • 更改我想到的客户端代码以传递新参数并使用此修改后的方法

但现在呢?我有几十个/几百个/谁知道系统中有多少其他需要更改的地方.在像Ruby或Javascript这样的动态OO语言中,我该怎么做呢?

在我的头脑中,我不太了解Ruby,我可以想到两个愚蠢的答案:

  1. 100%代码覆盖率.我测试整个应用程序,每次打破我看看是否是那个方法并修复它
  2. 查找和替换.我使用文本搜索来查找该方法.但是我可以使用相同方法名称的其他对象.

对此有一个很好的答案吗?看起来IDE会很难.如果我有代码如

c = Customer.new
Run Code Online (Sandbox Code Playgroud)

它能够弄明白,但如果是的话

c= SomeFunctionThatProbablyReturnsACustomerButMightReturnOtherThings()
Run Code Online (Sandbox Code Playgroud)

那么Ruby专家在这种情况下采取什么方法?

ruby refactoring dynamic

9
推荐指数
1
解决办法
905
查看次数

安装sqlite3-ruby的问题!

我在crunchbang linux上安装sqlite3-ruby gem时遇到问题.谷歌搜索过去几个小时,并跟随几个有同样问题的人,我仍然没有得到它的工作.

这是我在尝试'sudo gem install sqlite3-ruby'之后看到的

构建原生扩展.这可能需要一段时间...
错误:安装sqlite3-ruby时
出错:错误:无法构建gem本机扩展.

/usr/bin/ruby1.8 extconf.rb
检查sqlite3.h ...是
检查-lsqlite3中的sqlite3_libversion_number()...是
检查rb_proc_arity()...不
检查sqlite3_initialize()...否
sqlite3-ruby只支持sqlite3版本3.6.16+,请升级!
*extconf.rb失败*
由于某些原因无法创建Makefile,可能缺少
必要的库和/或标头.检查mkmf.log文件以获取更多
详细信息.您可能需要配置选项.

接下来我跑过这个页面; http://groups.google.com/group/sqlite3-ruby/browse_thread/thread/f22d098b561c48af/6e754f7b2fc3cd75?#6e754f7b2fc3cd75

我下载了sqlite-amalgamation-3.7.0.1.tar.gz并发出以下命令:

tar zxvf sqlite-amalgamation-3.7.0.1.tar.gz
cd cd sqlite-3.7.0.1
mkdir $ HOME/sqlite
./configure --prefix = $ HOME/sqlite
make && make install
sudo gem install sqlite3-ruby - -与-sqlite3的-DIR = $ HOME /源码

但是,我仍然得到完全相同的错误.我使用'sudo apt-get install sqlite3 libsqlite3-dev',但我仍然得到完全相同的错误.

有什么建议?

而作为一个小小的一边,为什么当我使用'sudo apt-get install sqlite3'时,它抓取3.5.9而不是我手动下载的3.7.0.1?

ruby rubygems sqlite3-ruby

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

在HTML中嵌入Ruby代码?

在PHP中,可以这样做:

<input type="text" value=" <?php echo "Hello world"; ?> ">
Run Code Online (Sandbox Code Playgroud)

是否有可能将Ruby嵌入HTML中,无论是否有Rails?

ruby

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

红宝石中"="&"=>"和"@variable","@@ variable"和":variable"之间有什么区别?

我知道这些都是导轨的基础知识,但我仍然不知道之间的差别完全=符号和=>之间的差异@some_variable,@@some_variable并:some_variable在轨道上.

谢谢.

ruby ruby-on-rails

9
推荐指数
2
解决办法
1003
查看次数

获取URL字符串参数?

我在我的数据库中的"位置"字段中有此URL:

http://www.youtube.com/watch?v=xxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

我可以得到它@object.location,但我怎样才能得到它的价值v?我的意思是,"xxxxxxxxxxxx"从URL字符串中获取?

ruby url ruby-on-rails

9
推荐指数
1
解决办法
8490
查看次数