instance-variables相关内容

从类外部访问实例变量

如果实例变量属于一个类,是否可以使用类实例直接访问该实例变量(例如@hello)? class Hello def method1 @hello = "pavan" end end h = Hello.new puts h.method1 解决方案 是的,您可以像这样使用instance_variable_get: class Hello def metho ..
发布时间:2020-11-29 06:09:35 其他开发

在类方法中使用实例变量-Ruby

我有一个类似下面的类,并且我使用实例变量(数组)来避免使用很多方法参数. 它能按我的预期工作,但这是一个好习惯吗? 实际上,我不希望这样能起作用,但是我想类方法不能像其他语言中的静态方法一样起作用. class DummyClass def self.dummy_method1 @arr = [] # Play with that array end de ..
发布时间:2020-11-29 06:08:31 其他开发

Ruby实例变量何时设置?

class Hello @hello = "hello" def display puts @hello end end h = Hello.new h.display 我创建了上面的类.它不会打印任何内容.我以为实例变量@hello是在类声明期间设置的.但是,当我调用display方法时,输出为"nil".正确的方法是什么? 解决方案 在初次学习Ru ..
发布时间:2020-11-29 06:08:25 其他开发

常量实例变量?

我使用@property来确保对对象实例变量的更改由我需要的方法包装. 当实例具有逻辑上不应更改的变量时,该怎么办?例如,如果我要为Process创建类,则每个Process实例应具有一个PID属性,该属性将经常访问但不应更改. 处理试图修改该实例变量的人的最Pythonic方式是什么? 仅信任用户不要尝试更改 他们不应该的东西吗? 使用属性,但引发一个 如果实例变量是 变 ..
发布时间:2020-11-29 06:00:42 Python

是否存在属性的自动初始化?

我想知道属性是在对象初始化期间自动设置为nil还是具有随机值? 解决方案 如果这个问题指示了Objective-C,我想说的是在声明变量时应初始化变量的 all 值. 在声明变量时显式初始化变量有两个好处: 变量的值没有任何歧义. 其他读取您的代码的可读性. ..
发布时间:2020-11-28 01:57:42 移动开发

“在super.init初始化自身之前在方法调用中使用self",无法通过方法调用来初始化属性

我很好奇,无论如何在init方法内部调用一个方法来设置类的实例属性.本质上,我只是有一个类对UIView进行了子类化,并在init中添加了一些子视图,而其中一些子视图是该类的实例变量. class MyView: UIView { var collectionView: UICollectionView convenience init () { self. ..
发布时间:2020-11-28 00:58:15 移动开发

Ruby子类实例变量可以_overwrite_超类(相同的名称)吗?

在"ruby​​编程语言"一书的第7.3.5节“继承和实例变量"中说: 因为实例变量与之无关 继承,子类使用的实例变量不能“阴影" 超类中的实例变量.如果子类使用相同的实例变量 名称作为其祖先之一使用的变量,它将覆盖其祖先的值 多变的.可以有意进行此操作以更改祖先的行为,或者可以 不经意间做.在后一种情况下,几乎可以确定会导致错误.与 先前描述的私有方法的继承,这是为什么它只是唯一的另一个原 ..
发布时间:2020-11-27 23:26:33 其他开发

将实例变量传递到表单中-Rails

由于我对Rails的了解以及如何在模型之间使用变量,这可能是一个错误,因此,如果需要更多代码来回答它或者我的术语不正确,请告诉我,我很乐意更新问题. 我提供了一些我希望用户能够“喜欢"的帖子.尽管以下代码允许按喜欢在单个帖子的页面-site.com:3000/posts/*post.id*上工作-传递的表单数据为like[liked_post_id]:*post.id*,但是当我尝试在个人资 ..
发布时间:2020-11-10 04:02:57 其他开发

等于方法中的浮点/双实例变量的相等比较是否准确?

我正在重写对象的相等方法。假设里程表将km变量存储为双精度(以及对于该示例不重要的其他变量)。 public里程表{私人双公里 ; @Override public int hashCode(){ final int prime = 31; int结果= 1; 长期温度; temp = Double.doubleToLongBits(km); 结果=素数*结果+( ..
发布时间:2020-10-25 23:53:56 Java开发

为什么Scala语言要求您初始化实例变量而不是依赖默认值?

Scala语言要求您在使用实例变量之前对其进行初始化。但是,Scala不会为您的变量提供默认值。相反,您必须使用通配符下划线手动设置其值,该通配符下划线的作用类似于默认值,如下所示: var名称:字符串= _ 我知道,我知道...我可以在类中定义构造函数定义,它以我们的实例变量作为参数,因此Scala不会如下所示强制其初始化 class Person(变量名:字 ..