草庐IT

html - 确定站点是否将在 iframe 中打开

全部标签

ruby - 如何检测目录是否可写在 Ruby 中

我正在使用Ruby,需要在尝试创建新文件之前检测目录是否可写。我已经尝试了下面的代码,它根据@path是否是一个目录正确地返回true/false。但是,当没有对@path文件夹的写权限时,它仍然返回true。ifFile.directory?(@path)&&File.writable?(@path)#isawriteabledirectorytrueelse#isnotawriteabledirectoryfalseend我查看了File和Dir类的帮助,但看不到任何允许我检查目录写入权限的方法。有办法吗?我只需要它在Windows上运行,使用Ruby1.9.3。

ruby - Rails 4 引擎是否自动加载引擎的 i18n 语言环境文件?

我有一个关于Rails引擎的问题,在关于Rails引擎的Rails指南中没有提到。我希望在这里得到它。例如,我有一个名为my_engine的引擎和一个名为my_app的应用。出于开发目的,在my_app的Gemfile中,我使用:file键简单地将my_engine包含在以下行中。#my_app/Gemfile...gem"my_engine",:path=>"./../my_engine"...my_engine结构是这样的:.├──Gemfile├──Gemfile.lock├──app│  ├──...||...|├──config│  ├──locales│  │  └──mo

ruby - 在 Ruby 中确定文件的编码

我想出了一种方法来确定我传入的文件的编码(或至少是猜测):defencoding_type(file_path)File.read(file_path).encoding.nameend问题是我有一个15GB的文件,这意味着整个文件都被读入了内存。有没有办法在不需要将整个文件读入内存的情况下完成我在这个方法中所做的事情? 最佳答案 file-mime命令将返回文件的mime类型和编码:file-mimemyfile我的文件:文本/纯文本;charset=iso-8859-1defdetect_charset(file_path)`f

ruby - 我怎么知道 BigDecimal 是否解析失败?

我正在从csv导入数据,我需要将一些值转换为BigDecimal,如果无法解析则引发错误。根据测试,BigDecimal("invalidnumber")返回0的BigDecimal。这没问题,但有点乱,除了有效值为0...Float("invalidnumber")的行为不同并抛出异常...我目前的解决方案是:classStringdefto_bdbeginFloat(self)rescueraise"Unabletoparse:#{self}"endBigDecimal(self)endend我是否完全遗漏了什么? 最佳答案 在

ruby - 一组字符串并重新打开字符串

试图回答这个问题:HowcanImakethesetdifferenceinsensitivetocase?,我正在试验集合和字符串,试图得到一组不区分大小写的字符串。但是由于某种原因,当我重新打开String类时,当我将字符串添加到集合时,我的自定义方法都没有被调用。在下面的代码中,我看不到任何输出,但我希望至少调用一个我重载的运算符。这是为什么?编辑:如果我创建一个自定义类,比如String2,我在其中定义了一个散列方法等,当我将我的对象添加到一个集合时,这些方法会被调用。为什么不是字符串?require'set'classStringalias:compare_orig:defv

ruby - Ruby 或其他语言是否会在 Parrot 上运行得更快?

我刚刚看到有一个Ruby到Parrot编译器调用Cardinal,它可以创建在Parrot上运行的代码,这是一个可以运行字节码的虚拟机。Ruby或任何语言的性能如何编译并在那里运行,因为例如,Ruby可能没有预编译的字节代码。在Parrot上运行可以更快吗??Python可能会更好地运行,因为它有.pyc。 最佳答案 Parrot开发还没有专注于优化。路线图始终在版本3或4中列出此内容(Parrot当前为2.9版)。目前正在进行一个大型重构分支,其中包括删除JIT并将其替换为新分支(引用:Lorito和JITRewrite)。它的成

ruby - 是否有一种直接的包罗万象的方法来记录在 Ruby 中的对象上调用的方法?

有没有一种快速的方法来跟踪在对象上调用的方法?通常,当我在gem的公共(public)界面之下的级别上工作时,我会遇到难以追踪的错误。最终,我最终通过源代码跟踪对象并将所有内容都记在脑海中。但是,如果能够在对象上调用类似#log_method_calls的东西,那么,比如说,调用它的所有方法都会打印到stdout或其他东西。有什么办法可以做到这一点? 最佳答案 有几种方法可以做到这一点,视情况而定。如果可以创建一个新对象而不是被观察对象,您可以使用method_missing轻松编写一个观察者类。classLogProxydefin

ruby-on-rails - 如何检查是否在网站上找到了图像?

我正在使用RubyonRailsv3.0.9,我想检查图像(在我的例子中是favicon.ico图标图像)已成功从网站检索到,如果没有,我想显示自定义图像。为了检索与网站相关的favicon.ico图像,在我的View文件中我有:image_tag"#{web_site.link}/favicon.ico",:size=>"16x16"其中web_site.link值类似于以下内容:http://stackoverflow.com/http://www.stackoverflow.com/http://facebook.com/...如何检查是否在网站上找到了图片(可能使用if...e

ruby - 确定 Ruby 1.9.3 中的字符编码

我的Rails3.2.2/Ruby1.9.3应用程序获取搜索请求,例如:http://booko.com.au/books/search?q=Fran%E7ois+Vergniolle+de+ChantalRuby/Rails接收此查询并对其进行解码-但假定它是UTF-8。在某些时候我得到一个:invalidbytesequenceinUTF-8app/models/product.rb:694:in`upcase'我认为它正在做这样的事情:q="Fran%E7ois+Vergniolle+de+Chantal"=>"Fran%E7ois+Vergniolle+de+Chantal"C

ruby-on-rails - Rails 中确定两个(或更多)给定 URL(作为字符串或哈希选项)是否相等的最佳方法是什么?

我想要一个名为same_url的方法?如果传入的URL相等,它将返回true。传入的URL可能是参数选项散列或字符串。same_url?({:controller=>:foo,:action=>:bar},"http://www.example.com/foo/bar")#=>trueRails框架助手current_page?似乎是一个很好的起点,但我想传入任意数量的URL。作为一个额外的好处,如果可以传入要从比较中排除的参数的哈希值,那就太好了。因此方法调用可能如下所示:same_url?(projects_path(:page=>2),"projects?page=3",:exc