草庐IT

yaml_new

全部标签

ruby - 自定义 to_yaml 和 domain_type

我需要定义用于序列化/反序列化对象的自定义方法。我想做类似下面的事情。classPersondefto_yaml_type"!example.com,2010-11-30/Person"enddefto_yaml"stringrepresentingperson"enddeffrom_yaml(yaml)Person.load_from(yaml)endend声明序列化/反序列化的正确方法是什么? 最佳答案 好的,这就是我想出的classPersondefto_yaml_type"!example.com,2010-11-30/pe

Ruby:没有类的 'new'

我对Ruby的理解是“new”关键字总是与类名结合使用以创建类的新实例。在下面的代码中,可在https://gist.github.com/e9c0da1a6e92dd12cbc7找到,这是作为Ruby新手编程挑战赛的解决方案提交的,作者在没有实例化类的情况下使用了“new”关键字三次。在一种情况下,new(0,0)被分配给常量CLOSED。在另一种情况下,new(open,close)是函数的返回值。为什么要这样做?以这种方式使用时,"new"在做什么?它在创造什么?classOpenHoursattr_reader:open,:closedefinitialize(open,clo

ruby - gem 安装失败,出现 "Could not find a valid gem ' yaml'"

我正在从一个当前可用的ruby​​程序构建一个gem。它使用jruby1.7.12,除其他外,它执行“require'yaml”。对于gem,我的Gemfile包含:source'https://rubygems.org'gemspec当我运行时gembuildprogram.gemspec这很好用,但是当我运行时geminstallprogram-0.15.01.gem它失败了ERROR:Couldnotfindavalidgem'yaml'(>=0)inanyrepositoryERROR:Possiblealternatives:aml,cyaml,haml,maml,raml没

ruby - Rails 'raise StandardError.new' 和 'raise StandardError' 之间的区别

为了处理Rails异常,我看到人们使用“raiseSomeException.new”或“raiseSomeException”,有什么区别?说如果我有课classUnableToCreateShipments我可以两者都做吗?raiseUnableToCreateShipmentsraiseUnableToCreateShipments.new或者用消息raiseUnableToCreateShipments,'myerrormessage'raiseUnableToCreateShipments.new('myerrormessage') 最佳答案

ruby - 杰基尔 : New posts not being generated

我正在建立一个jekyll博客。我将.md文件放在_posts文件夹中。在项目根目录下运行jekyll--server命令。但是jekyll只是重新生成旧帖子,新闻帖子不会添加到_site。可能是什么问题? 最佳答案 我终于找到了jekyll失败的原因。我在我的一篇帖子中使用的标题中有一个冒号(:)。我只需要用:替换它并且帖子解析得很好。 关于ruby-杰基尔:Newpostsnotbeinggenerated,我们在StackOverflow上找到一个类似的问题:

ruby - 如何在不使用 new 的情况下在 Ruby 中创建对象

可以使用Ruby创建复数c=Complex.new(1,2)但是,它可以缩短为c=Complex(1,2)是否可以实现相同的功能而无需在类外部定义函数,如下例所示?classBitsdefinitialize(bits)@bits=bitsendenddefBits(list)#IwouldliketodefinethisfunctioninsidetheclassBits.newlistendb=Bits([0,1])我认为Ruby应该至少允许下面建议的构造函数之一classBitsdefinitialize(bits)@bits=bitsenddefself.Bits(list)#

ruby - 为什么 array.each 行为取决于 Array.new 语法?

我正在使用Ruby1.9.2-p290并发现:a=Array.new(2,[]).each{|i|i.push("a")}=>[["a","a"],["a","a"]]这不是我所期望的。但以下构造函数样式确实符合我的预期:b=Array.new(2){Array.new}.each{|i|i.push("b")}=>[["b"],["b"]]第一个例子是预期的行为吗?在ruby​​-doc中,我的size=2参数对于两个构造函数来说似乎是同一种参数。我认为,如果each方法通过了该参数,那么它将以相同的方式为两个构造函数使用它。 最佳答案

ruby-on-rails - 如果 YAML 文件不存在或无法在 Rails 中加载,请进行救援

我正在使用YAML文件来存储一些secret配置数据。我只是在开发环境中使用该文件。在生产中,我使用ENV变量。这是我现在正在做的事情:我有一个config/confidental.yml文件,看起来像这样:email:user_name:'my_user'password:'my_passw'我有一个config/environments/development.rb文件(除其他外)有这些行:#Mailerconfigemail_confidential=YAML.load_file("#{Rails.root}/config/confidential.yml")['email']c

ruby-on-rails - 迪尔德 : Symbol not found: _rb_ary_new_from_values When trying to run foreman start

尝试运行“foremanstart”来执行我的rails文件时,我收到以下错误。dyld:Symbolnotfound:_rb_ary_new_from_valuesReferencedfrom:/Users/paulbattisson/.rvm/gems/ruby-2.1.1/gems/psych-2.0.5/lib/psych.bundleExpectedin:flatnamespace如果我运行railss那么应用程序可以正常启动,但是我想使用以下Procfile:web:bundleexecrackupconfig.ru-p$PORTresque:envTERM_CHILD=1

ruby - 从 yaml 文件中读取数据并在 ruby​​ 中生成一个数组

我在yaml文件中有以下数据-----:Subject_listSubject1::Act1:A:Act2:BSubject2::Skill1::Act1:B:Act2:B:Skill2::Act1:B我需要从这个文件中读取数据并生成如下所示的输出-对于主题1,它将是这样的,因为它没有技能水平。表示数组的第一个元素为空。["","Act1","A"],["","Act2","B"]第二个主题是这样的——["Skill1","Act1","B"],["","Act2""B"],["Skill2","Act1","B"]我正在使用这些值生成一个prawnpdf表。任何帮助是极大的赞赏。我试