jjzjj

private-class

全部标签

ruby - 如何找到私有(private)单例方法

我已经定义了一个模块Vehicle这样的moduleVehicleclass调用Vehicle.singleton_methods返回[:build]。如何检查Vehicle定义的所有私有(private)单例方法? 最佳答案 在Ruby1.9+中,您可以简单地执行以下操作:Vehicle.singleton_class.private_instance_methods(false)#=>[:background]在Ruby1.8中,事情有点复杂。Vehicle.private_methods#=>[:background,:inc

ruby - 为什么 ruby​​ 允许子类访问父类的私有(private)方法?

classMaindefsay_helloputs"Hello"endprivatedefsay_hiputs"hi"endendclassSubMain输出:hiTesting 最佳答案 区别在于在ruby中你可以隐式调用子类中的私有(private)方法而不是显式调用。Protected可以双向调用。至于为什么?我猜你得问问Matz。例子:classTestMainprotecteddefsay_holaputs"hola"enddefsay_ni_haoputs"nihao"endprivatedefsay_hiputs"hi

ruby - 子类中是否可以访问 Ruby 私有(private)方法?

我有如下代码:classAprivatedefp_methodputs"I'maprivatemethodfromA"endendclassBError:Privatemethodcannotbecalledb.some_method#=>I'maprivatemethodfromAb.some_method调用类A中定义的私有(private)方法。如何在继承它的类中访问私有(private)方法?这种行为在所有面向对象的编程语言中都一样吗?Ruby是如何进行封装的? 最佳答案 这是来自thissource的简要说明:Public

ruby - 时间 :Class after requiring active_support/time_with_zone 的未定义方法 `zone`

我在使用Ruby2.2.1并安装了active_support4.2,所以我想使用Time.zone.parse('2007-02-1015:30:45')如此处所述:http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html但即使在需要active_support和active_support/time_with_zone之后,我觉得Time.zone仍然不起作用。观察:2.2.1:002>require"active_support"=>true2.2.1:003>Time.zoneNoMethodError

ruby-on-rails - 有人可以向我解释 class << self 吗?

我是第一次接触Rails编程,在查看我下载的一些库的代码时,我偶尔会注意到代码:class我尝试在网上搜索解释,但是 最佳答案 在ruby中,class打开foo引用的对象的单例类.在Ruby中,每个对象都有一个与之关联的单例类,它只有一个实例。这个单例类包含特定于对象的行为,即单例方法。所以,class打开self的单例类.到底是什么self是,当然取决于您所处的环境。例如,在模块或类定义主体中,它是模块或类本身。如果您使用单例类的全部目的是定义单例方法,那么实际上有一个快捷方式:deffoo.bar.下面是一个示例,说明如何使用

ruby-on-rails - Ruby:Class.new 在 Rails 控制台中给出 "Class not initialized"错误

我正在创建一个轻量级应用程序来创建和显示即将发生的事件的信息。我定义了一个Event类,它将args散列作为参数。初始化方法定义如下。classEvent到目前为止,还不错。然后,在Rails控制台中,我定义了一个args散列并尝试创建一个Event实例,但出现以下错误。[4]pry(main)>args={what:'what',theme:'theme'}=>{:what=>"what",:theme=>"theme"}[5]pry(main)>Event.new(args)=>#这看起来很简单,但我很难理解。任何帮助表示赞赏。 最佳答案

ruby-on-rails - 类 CommentsController 的父类(super class)不匹配(TypeError),重命名的最佳方法?

我今晚在部署时遇到了一些问题,我正在努力尽快解决这个问题我不知道为什么会这样。在本地一切正常,但在heroku上却不行。我在研究后尝试了各种不同的修复方法,但我可能不得不求助于完全重命名此类CommentsController(希望能奏效)。最好的方法是什么?我是Rails的新手,所以我需要一些帮助来正确地进行这些更改。这是CommentsController的样子,仅供引用:classCommentsController评论与每个帖子相关联(用户可以对帖子发表评论)。如果需要,我也会发布其他代码。这是来自heroku日志的错误2013-04-09T05:55:19.454545+00

ruby - Codecademy "converting between symbols and strings" ruby 类(class)

这些是Codecademy的说明:Wehaveanarrayofstringswe'dliketolateruseashashkeys,butwe'drathertheybesymbols.Createanewarray,symbols.Use.eachtoiterateoverthestringsarrayandconverteachstringtoasymbol,addingthosesymbolstosymbols.这是我写的代码(提供了strings数组):strings=["HTML","CSS","JavaScript","Python","Ruby"]symbols=[]

ruby - Ruby 的 "Open Classes"会破坏封装吗?

在Ruby中,程序员可以更改预定义的类。所以一个非常糟糕的程序员可能会做这样的事情:classStringdef==(other)returntrueendend显然,几乎没有人会这么蠢,但是对预定义类进行更细微的更改可能会导致已经运行的代码出现问题的想法在我看来违反了封装原则。四个问题:首先,这是否实际上违反了面向对象的封装原则?其次,作为一名程序员,有没有一种方法可以保证我正在使用类的未修改版本的代码?第三,我应该在我的代码中“打开”类吗?原因?最后,在大规模生产编码环境中如何处理这类事情?换句话说,编程行业的人真的用其他人的代码来做这件事吗?将使用?或者即使他们不这样做,你如何确

ruby - 使用 NFS 和 private_network 时将 Vagrant VM 公开到网络

我有一个多机Vagrant设置。使用NFS和private_network我可以让我需要的一切正常工作(Drupal、PHP等),除了允许大厅下面的人访问我的VM上运行的Web应用程序。我了解private_network使得无法从外部连接到VM。有没有一种方法可以同时创建私有(private)网络和公共(public)网络,以便除负载均衡器之外的所有VMS都是私有(private)的,并且可以通过主机的ip访问负载均衡器?hosts={"wloadlocal"=>"192.168.33.10","wweblocal1"=>"192.168.33.11","wweblocal2"=>"