initializer相关内容

为什么SWIFT不允许在类初始化中给自己赋值,而不允许在协议初始化中赋值?

我经常发现自己喜欢在struct、enum和protocol的初始值设定项中,我可以编写类似self = someValue的内容。当我有一些预定义的值或正在克隆现有值时,这很棒。 但是,此语法不适用于classES。我也不知道为什么。 无法赋值:‘self’是不可变的 如果关注的是双重初始化,则SWIFT编译器知道我是否、何时以及在哪里调用指定的super或self初始化器,因此它知道 ..

在类X的__new__方法中取消对类型X的对象的酸洗,在返回未酸洗的对象时调用__init__,为什么?

我有一个对象,它将在第一次使用后被缓存。我将使用cPickle模块完成此操作。如果模块已经缓存,当我下一次尝试实例化对象时(在另一个进程中),我想使用缓存的对象。以下是我的基本结构: import cPickle class Test(object): def __new__(cls, name): if name == 'john': pri ..
发布时间:2022-04-07 12:38:09 Python

在Ruby中,'new'和'initialize'之间的关系是什么?初始化时如何返回零?

我想要的是: obj = Foo.new(0) # =>无或假 这不起作用: 类 Foo定义初始化(val)如果 val == 0 则返回 nil结尾结尾 我知道在 C/C++/Java/C# 中,我们不能在构造函数中返回值. 但我想知道在 Ruby 中是否有可能. 解决方案 在 Ruby 中,'new' 和 'initialize' 是什么关系? new 通常调用 ..
发布时间:2022-01-19 14:37:10 其他开发

多个构造函数:Pythonic 方式?

我有一个保存数据的容器类.创建容器时,有不同的方法来传递数据. 传递一个包含数据的文件 直接通过参数传递数据 不传递数据;只需创建一个空容器 在 Java 中,我将创建三个构造函数.如果在 Python 中可行的话,它会是这样的: 类容器:def __init__(self):self.timestamp = 0自我数据 = []self.metadata = {}def __i ..
发布时间:2022-01-18 23:52:58 Python

Objective-C中的静态构造函数等效?

我是 Objective C 的新手,我无法找出语言中是否存在等效的静态构造函数,即类中的静态方法,将在第一个实例之前自动调用此类的实例化.还是我需要自己调用初始化代码? 谢谢 解决方案 +initialize 方法在第一次使用类时被自动调用, 在使用任何类方法或创建实例之前.你不应该自己调用 +initialize. 我还想传递我学到的一个花絮:+initialize 被子类 ..
发布时间:2022-01-18 23:36:55 移动开发

在加载*后*路由运行的 Rails 初始化程序?

我想在我的 Rails 应用程序启动时设置一个类属性.它需要检查一些路由,因此需要在我的自定义代码运行之前加载这些路由.我很难找到一个可靠的上钩地点. 这在“测试"环境中完美运行: config.after_initialize 做Rails.logger.info "#{Rails.application.routes.routes.map(&:path)}"结尾 但它不在“开发"环境 ..

在Objective-C中等效的静态构造函数?

我是 Objective C 的新手,我一直无法找出语言中是否有静态构造函数的等效项,即类中的静态方法,将在第一个实例之前自动调用这样的类被实例化.还是需要自己调用初始化代码? 谢谢 解决方案 +initialize 方法在第一次使用类时自动被调用, 在使用任何类方法或创建实例之前.你永远不应该自己调用 +initialize. 我还想传递一个我学到的花絮:+initializ ..
发布时间:2022-01-05 20:18:33 移动开发

如何处理引发检查异常的静态最终字段初始值设定项

我正面临一个用例,我想声明一个带有初始化语句的 static final 字段,该字段声明为抛出已检查的异常.通常,它看起来像这样: public static final ObjectName OBJECT_NAME = new ObjectName("foo:type=bar"); 我在这里遇到的问题是 ObjectName 构造函数可能会抛出各种检查异常,我不关心(因为我知道我的名字是有 ..
发布时间:2022-01-05 20:14:41 Java开发

C++中的静态构造函数?我需要初始化私有静态对象

我想要一个带有私有静态数据成员的类(一个包含所有字符 a-z 的向量).在 java 或 C# 中,我可以只创建一个“静态构造函数",它会在我创建类的任何实例之前运行,并设置类的静态数据成员.它只运行一次(因为变量是只读的并且只需要设置一次)并且因为它是类的函数,所以它可以访问其私有成员.我可以在构造函数中添加代码来检查向量是否已初始化,如果未初始化则对其进行初始化,但这会引入许多必要的检查并且似 ..
发布时间:2022-01-05 19:59:28 C/C++开发

无法在 Swift 中以编程方式创建 UIViewController

当我尝试在 Swift 中创建 UIViewController 的实例时,所有继承的初始化器都不可用,即使我没有在视图中定义任何指定的初始化控制器(或其他任何东西,FWIW). 此外,如果我尝试通过将其设置为根视图控制器来显示它,它永远不会显示: func application(application: UIApplication, didFinishLaunchingWithOpti ..
发布时间:2022-01-05 08:58:49 移动开发

高级 C 问题:请解释 C 构造 *({ foo(&bar); &bar; })

这最终是一个 C 问题,是在研究 Linux 内核源代码的 completion.h 中的代码时出现的,在那里我看到了一种我以前从未在 C 中使用过的 C 技术.虽然对它在做什么有一个模糊的感觉,但我想通过准确的描述来微调我的理解,而且我不太确定如何在没有潜在长期折磨的情况下使用 Google 搜索答案. 来自 linux 内核的相关代码行 完成.h: 结构补全{无符号整数完成;wait_ ..
发布时间:2022-01-04 22:49:42 其他开发

加载路由后运行的 Rails 初始值设定项?

我想在 Rails 应用程序启动时设置一个类属性.它需要检查一些路由,因此需要在我的自定义代码运行之前加载这些路由.我很难找到一个可靠的地方来勾搭. 这在“测试"环境中非常有效: config.after_initialize 做Rails.logger.info "#{Rails.application.routes.routes.map(&:path)}"结尾 但它在“开发"环境中不 ..

PHP 中的静态类初始化器

我有一个带有一些静态函数的辅助类.类中的所有函数都需要一个“重"的初始化函数来运行一次(就像它是一个构造函数). 是否有实现这一目标的良好做法? 我唯一想到的是调用一个 init 函数,如果它已经运行过一次(使用静态 $initialized 变量),就中断它的流程.问题是我需要在类的每一个函数上调用它. 解决方案 听起来像使用单例而不是一堆静态方法更好 class 单例{/ ..
发布时间:2021-12-30 15:24:25 PHP

C++:数组的构造函数初始值设定项

我脑抽筋了...如何在 C++ 中正确初始化对象数组? 非数组示例: struct Foo { Foo(int x) {/* ... */} };结构栏{福福;酒吧():foo(4){}}; 数组示例: struct Foo { Foo(int x) {/* ... */} };结构巴兹{富富[3];//???我知道以下语法是错误的,但什么是正确的?Baz() : foo[0](4), ..
发布时间:2021-12-30 15:10:14 C/C++开发