问题标签 [init]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
14385 浏览

python - 定义元类时是否有任何理由选择 __new__ 而不是 __init__ ?

我总是设置这样的元类:

但我刚刚遇到了一个定义如下的元类:

有什么理由更喜欢其中一个吗?

更新:请记住,我问的是在元类中使用__new____init__。我已经了解了他们在另一个班级中的区别。但是在元类中,我不能__new__用来实现缓存,因为__new__只在元类中创建类时调用。

0 投票
1 回答
2882 浏览

python - 如何从 __init__ 调用属性设置器

我有以下python代码块:

理论上这应该打印出密码的 SHA1,但是从构造函数设置 self.password 会忽略定义的属性,只是将值设置为“password1”。然后 print 语句读取“password1”的值。

我知道这是在类上定义密码而不是在实例上定义的密码,但我不确定如何正确表示它以便它工作。任何帮助,将不胜感激。

0 投票
4 回答
13447 浏览

iphone - Objective-C中的自定义init方法,如何避免递归?

我想创建一个 UINavigationController 的子类,它总是以相同的根控制器开始。没什么特别的,所以(对我来说)像这样重写 init 方法是非常有意义的:

这显然会产生问题,因为[super initWithRootViewController]会调用[UINavigationController init],这当然是我们重写的init方法,所以会发生无限递归。

我不想创建具有不同名称的 init 方法,例如“initCustom”。

目前我只能想出一个解决方案,但我真的很讨厌这种 hack:

所以我的问题是:有没有更好的方法来处理这个问题?我确定我遗漏了一些非常明显的东西,但我没有看到。

编辑:我想这样做的原因,可以在下面我的评论之一中看出:

我想创建一个始终以特定视图控制器开头的导航控制器。我想对班级的消费者隐藏这一点。不需要暴露的东西就不用暴露了。让生活更轻松,代码更简洁(发明封装的原因之一,对吧?)

0 投票
1 回答
1774 浏览

fedora - init 从不收获僵尸/失效进程

在我的内核为 2.6.18 的 Fedora Core 9 网络服务器上,init 没有收获僵尸进程。如果不是进程表最终达到无法分配新进程的上限,这将是可以忍受的。

的样本输出ps -el | grep 'Z'

这是操作系统错误吗?配置错误?我正在寻找有关此问题根源的灵感。谢谢

0 投票
1 回答
20485 浏览

jquery - jquery初始化函数

我有一个简单的 UI 小部件,我希望它能够提醒()“你好世界!!!” 初始化时。

有人可以解释一下这个 init 或 _init 函数是如何工作的吗?如果我要像对话框 ui 一样调用 ui $('#selector').dialog() ,换句话说,如果单击<div onclick="$('#id').myWidget()">Click Me</div>,那么我应该弹出警报。

这段代码很短,因为我不想在里面写很多代码,所以它很容易阅读。谢谢

0 投票
5 回答
21063 浏览

python - 子类化 dict:应该调用 dict.__init__() 吗?

这是一个双重问题,一个理论部分,一个实践部分:

子类化dict时:

应该dict.__init__(self)被称为“安全”措施(例如,如果有一些重要的实现细节很重要)?如果不调用,代码是否存在与 Python 的未来版本中断dict.__init__()的风险我在这里寻找做一件事或另一件事的根本原因(实际上,打电话dict.__init__()是安全的)。

我的猜测是,当ImageDB.__init__(self, directory)被调用时, self 已经是一个新的空 dict 对象,因此不需要调用dict.__init__(我确实希望 dict 一开始是空的)。它是否正确?

编辑

上述基本问题背后更实际的问题如下。我正在考虑将 dict 子类化,因为我会经常使用 db[...] 语法(而不是一直使用 db.contents[...]);对象的唯一数据(属性)确实是一个字典。我想向数据库添加一些方法(例如get_image_by_name(),或get_image_by_code(),例如),并且只覆盖__init__(), 因为图像数据库是由包含它的目录定义的。

总而言之,(实际)问题可能是:对于表现得像字典的东西,除了它的初始化不同(它只需要一个目录名称)并且它有其他方法之外,什么是一个好的实现?

许多答案中都提到了“工厂”。所以我想这一切都归结为:你是继承dict,覆盖__init__()和添加方法,还是你编写一个返回dict的(工厂)函数,你添加方法?我倾向于第一种解决方案,因为工厂函数返回一个对象,其类型并不表明它具有额外的语义和方法,但你怎么看?

编辑 2

我从每个人的回答中得知,当新类“不是字典”时,将 dict 子类化不是一个好主意,特别是当它的__init__方法不能采用与 dict 相同的参数时__init__(在“实际问题”中就是这种情况)多于)。换句话说,如果我理解正确的话,共识似乎是:当您子类化时,所有方法(包括初始化)必须具有与基类方法相同的签名。例如,这允许 isinstance(subclass_instance, dict) 保证subclass_instance.__init__()可以像 一样使用dict.__init__()

另一个实际的问题随之而来:除了初始化方法之外,和dict一样的类应该如何实现?没有子类化?这需要一些麻烦的样板代码,不是吗?

0 投票
1 回答
37226 浏览

c# - 如何设置哪个控件专注于应用程序启动

对于 C# Windows 窗体应用程序,如何在应用程序启动时将默认焦点设置到给定控件?

0 投票
8 回答
33445 浏览

guice - 实例化对象后Guice调用init方法

实例化给定类型的对象后,是否可以告诉 Guice 调用某个方法(即 init())?

我在 EJB 3(和 Spring)中寻找类似于 @PostConstruct 注释的功能。

0 投票
4 回答
6502 浏览

haskell - 学习 Haskell:如何实现我自己版本的 init 函数

作为学习 Haskell 的一部分,我正在尝试实现我自己版本的与列表相关的各种功能。现在我被困在init函数上。Haskell 中的 init 函数返回 List 中除最后一个元素之外的所有元素。

这是我到目前为止所做的。

0 投票
1 回答
3172 浏览

iphone - iPhone 使用附加数据初始化 UIViewController

我有一个自定义 UIViewController 子类,它被推送到 UINavigationController 堆栈上。我想在初始化/推送时添加一些我自己的数据。我是不是该

a)用我的数据作为参数编写一个自定义初始化方法,像这样?

MyCustomViewControllerSubclass.m:

或b)向我的视图控制器添加一个存储我的自定义数据的属性,然后在初始化后添加它?

其中一种方法是否有一些优点/缺点,还是有另一种方法可以做到这一点?

很高兴收到回复!