gpt4 book ai didi

ruby - new 可以返回 nil 吗?

转载 作者:数据小太阳 更新时间:2023-10-29 07:52:15 27 4
gpt4 key购买 nike

我正在使用一个用 ruby​​ 编写的新代码库。我以前从未开发过 ruby ,所以我有一个非常笼统的问题。该代码有一种我觉得很奇怪的模式。当它创建一个类的新实例时,它会立即检查以确保它不是 nil。

@client = Client.new()
raise("Client not initialized.") if (@client == nil)

一般new可以返回nil吗?这是常见的 ruby 图案吗?

最佳答案

可以吗?可以。

可以用一些可能会覆盖 Class#new 的默认实现(调用 Class#allocate 然后 initialize)返回 nil。然而,

会吗?可能不会。

new 的默认实现不会返回nil,重写new 的情况非常罕见,而且很可能不是很好的形式(虽然这不一定是不好的做法,但通常有更好的方法)。

关于ruby - new 可以返回 nil 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32530826/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com