草庐IT

Java字符串问题

全部标签

ruby-on-rails - 在 ruby​​ 中支持两种语法的问题

我有一种情况需要这样调用:classOfficeattr_accessor:workers,:iddefinitialize@workers=[]enddefworkersworkertype=worker.typeresp=Worker.post("/office/#{@id}/workers.json",:worker=>{:type=>type})worker=Worker.new()resp.to_hash.each_pairdo|k,v|worker.send("#{k}=",v)ifworker.respond_to?(k)endself.workersworker类(Cl

ruby-on-rails - Heroku 上的不兼容编码正则表达式匹配(ASCII-8BIT 正则表达式与 UTF-8 字符串)

我有一个Rails应用程序,我在其中使用基于正则表达式的规则对事务进行分类。在我的seeds.rb中,我创建了一些类别和规则,然后从CSV文件(也是utf8编码)导入交易并允许对它们进行分类。这个过程在我的开发机器上运行良好,但是当我在Heroku上运行它时,我得到:incompatibleencodingregexpmatch(ASCII-8BITregexpwithUTF-8string)我正在运行CedarStack,Rails2.3.15。我放了#encoding:utf-8在我所有源文件的顶部,我在我的应用程序配置中将编码设置为utf-8,所以我不确定还有什么可能导致此问题。

ruby - Ruby 的 Sublime 文本评论缩进问题

我在ruby​​中使用SublimeText几个月后,我遇到了评论自动缩进的问题。缩进使用注释的缩进,并使用此缩进缩进以下所有代码。我希望自动缩进忽略(至少)或设置以前代码的缩进(最多),但根本不采用评论的缩进:我所有使用这个编辑器的同事都有同样的问题这是SublimeText重新缩进的示例代码classTestdefmethod1end#Badindentationdefmethod2somecodeenddefmethod3somecodeendend通缉:classTestdefmethod1end#Badindentationdefmethod2somecodeenddefme

ruby-on-rails - 通过关联获取 has_many 的 ActiveRecord::RecordInvalid 错误;连接表上的验证问题

我有如下三个关联模型:classProduct当我做类似的事情时:doc=user.documents.builddoc.update_attributes(:product_ids=>[1,2])并且description验证失败,然后我得到false和doc上的相应错误。这正是我想要的。但是,如果doc已经存在,例如:doc=user.documents.firstdoc.update_attributes(:product_ids=>[1,2])并且description验证失败,然后我得到一个ActiveRecord::RecordInvalid错误。我很清楚为什么会这样——i

ruby - Jruby Gems-in-a-jar 问题

只要我乐于坚持使用标准的jruby库,一切都很好。如jruby网站上所述,我只是将jruby-complete.jar库复制到远程计算机并在运行时将其包含在类路径中。我启动了我的编译脚本,它运行起来了:太棒了!当我需要一些其他库(通常是ruby​​gems)来运行我的脚本时,问题就开始了。我知道像rawr这样很酷的东西,我成功地测试了它,可以将你需要的所有东西放在一个包中。然而,这不是我正在寻找的解决方案:我将有许多独立运行的小脚本,我不希望它们中的每一个都增长到至少10MB,只是因为我疯狂地在每个脚本中包含了jruby-complete.jar他们。我想要的是为我需要使用的每个库编译

ruby - 为什么 File.new 的参数不是符号而是字符串?

我想知道为什么编写File库的人决定用字符串而不是符号来确定文件打开模式的参数。比如现在是这样的:f=File.new('file','rw')但这不是更好的设计吗f=File.new('file',:rw)甚至f=File.new(:file,:rw)例如?这似乎是使用它们的最佳场所,因为参数绝对不需要可变。我很想知道为什么会这样。更新:我刚读完arelatedquestionaboutsymbolsvs.strings,我认为大家的共识是,符号只是不如字符串广为人知,反正大家都习惯用字符串来索引哈希表。但是,我认为Ruby标准库的设计者以对符号主题一无所知为由辩护是不合理的,所以我

ruby - 在 JRuby 中,如何确定导致 java.lang.ThreadDeath 的原因?

在为一些与JRuby中的临时文件交互的代码运行单元测试时,我有时会得到以下信息:Exception:java.lang.ThreadDeaththrownfromtheUncaughtExceptionHandlerinthread"Thread-6395"它似乎没有引起任何问题,但这是怎么回事,我如何确定它发生在哪里?我尝试打开-d,但这并没有给我异常的堆栈跟踪。 最佳答案 FWIW:这可能与http://jira.codehaus.org/browse/JRUBY-7074有关.我偶尔会在不使用反引号但调用系统的JRuby程序中

Ruby 字符串可变性

这可能是一个有点菜鸟的问题,我最近一直在努力提高ruby​​的水平,并开始阅读精彩的TheRubyProgrammingLanguage.提到的一点是字符串文字被认为是可变的,因此在循环中最好使用变量然后使用文字,因为新字符串将在每次迭代时实例化。我的问题是为什么?一开始以为是插值的原因,但是symbols是不可变的,支持插值。来自静态背景,这对我来说并没有多大意义。编辑:看完thenduks回答,我想我可能有。AFAIK,像Java或C#这样的语言没有破坏性的字符串方法(它们使用大写,但不是大写!)。因为像upcase这样的东西!或对此不能100%确定,另一种可能性是它发生在编译时实

ruby-on-rails - 使用 utf8 字符的 ruby​​ 正则表达式在 rails 中的奇怪行为

使用非标准utf-8字符时,我的验证正则表达式之一出现问题。因此,我进行了一些实验,发现ruby​​正则表达式在rails环境或普通ruby​​中表现不同。我用中文字符串在这里发布我的实验。在ruby中“纯”:string="運動會"putsstring[/\A[\w]*\z/]=>match"運動會"-ok在rails上:#coding:utf-8task:test=>:environmentdostring="運動會"putsstring[/\A[\w]*\z/]end$raketest=>nothing-notok如果我省略#coding:utf-8,它将带有invalidmul

ruby - 将 ORM 添加到 Sinatra 应用程序;有没有问题少性能好的理想的?

我希望将ORM添加到我现有的Sinatra应用程序中。尽管我还没有尝试过ActiveRecord,但我了解了Datamapper、Sequel和ActiveRecord。Datamapper看起来很简单,但我一直面临“WhatORMtouseinoneprocessmultipledbconnectionssinatraapplication?”中讨论的问题,但无法理解解决方案和根本原因。对于选择合适的、以性能为导向的ORM有什么建议吗? 最佳答案 Sequel足够快,但功能较少,而ActiveRecord有许多很酷的功能,导致一些