问题标签 [initializer]
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.
c++ - 如何防止默认初始化具有类类型的 const 变量
我有一个自定义类,我想表现得像一个内置类型。
但是我注意到您可以在不提供初始值的情况下初始化该类的 const 变量。我的班级目前有一个空的默认构造函数。
这是 int 和我的类 foo 的比较:
如您所见,我需要防止
从编译。
来自 C++ 大师的任何想法?
ruby-on-rails - 在通过自定义初始化程序编写的 config 目录中的自定义 yml.erb 文件中使用 image_path 帮助程序
我构建了一个 yml.erb 文件,该文件将用于配置我的应用程序的某些部分。我想用初始化程序预加载它(我不需要在应用程序运行期间更改它),最大的问题是这个 yml 文件包含指向 app/assets/images 目录内的图像的链接。我想在我的 yml.erb 文件中使用 image_path 帮助程序,但我遇到了麻烦(我不知道我应该包含什么以及应该在哪里包含它:如果在 yml.erb 文件中或在解析的文件中yml.erb 文件)。
我现在拥有的
desktop_icons.rb(在 config/initializers 中)
icons.yml.erb(内部配置)
home_controller.rb(控制器内部)
有什么建议吗?
ruby-on-rails - 初始化程序在 Rails 中运行的频率如何?
每次有人访问该站点时,Rails 应用程序中的初始化程序都会运行吗?
例如,如果我的服务器于上午 10 点在德克萨斯州启动,并且有人在下午 1 点从纽约访问我的站点,而有人在晚上 10 点从洛杉矶访问,那么当来自纽约的人运行时,在 Rails 应用程序中执行初始化程序和洛杉矶访问,还是只有在我在德克萨斯州启动服务器后才运行初始化程序?
我问的原因是因为我在初始化文件中使用 case 表达式来更改电子邮件设置,具体取决于访问应用程序的时间。如果初始化程序在有人访问该站点时运行,这当然才有意义。如果它们仅在服务器启动时运行,那么这只是一种情况......
如果这不是执行此操作的正确位置,或者如果初始化程序仅在服务器在德克萨斯州启动后运行(例如),那么您会将这段代码放在哪里?
ajax - 执行 f:ajax 时始终调用 JSF2 preRenderComponent
我有一个由 NewsBean.java 支持的 JSF 页面,它具有<f:event type="preRenderComponent" listener="#{newsBean.init}" />
bean 初始化程序。
页面底部有一个用于发送评论的按钮,其中包含:
<f:ajax event="click" execute="@form" render="@form" listener="#{newsBean.sendComment}" />
和<h:form>
。当按钮被点击时,NewsBean.init()
总是被调用。
我的 bean 范围是视图。这是一个有效的行为(总是调用 init())吗?我怎样才能防止总是打电话init()
?
ruby-on-rails - 如何将 PusherClient 设置为 Rails 初始化程序?
在https://github.com/logankoester/pusher-client如何将设置放入 rails 初始化程序config/initializers/
?
c++ - 我可以在 for 循环的初始化中声明不同类型的变量吗?
为什么这段 C++ 代码在 VS2010 下无法编译:
而这个:
是否禁止在 for 循环初始化程序中声明两个不同类型的变量?如果是这样,你怎么能解决它?
ruby-on-rails - 在加载*后*路由运行的 Rails 初始化程序?
我想在我的 Rails 应用程序启动时设置一个类属性。它需要检查一些路由,因此需要在我的自定义代码运行之前加载这些路由。我很难找到一个可靠的地方挂上钩。
这在“测试”环境中非常有效:
但它在“开发”环境中不起作用(路线为空)
现在,我似乎通过运行config.to_prepare
我理解的相同代码在每个请求之前发生在开发模式下工作。不幸的是,to_prepare
单独使用似乎在测试模式下不起作用,因此重复。
我很好奇为什么在测试模式下在 after_initialize 之前加载路由,而不是在开发模式下。真的,最好的钩子是什么?是否有一个适用于所有环境的钩子?
*编辑*
mu 重新加载路线的建议很棒。它使我能够在所有环境中一致地访问 after_initialize 中的路由。不过,对于我的用例,我认为我仍然需要从 to_prepare 运行代码,因为我在模型上设置了一个类属性,并且在每次请求之前重新加载模型。
所以这就是我最终要做的。
对我来说似乎有点乱。我想我宁愿做这样的事情:
但我不确定是否User
是正确的检查地点Rails.application.routes
。我想我可以用 lib/ 中的代码做同样的事情,但我也不确定这是否正确。
另一种选择是将 mu 的建议应用于 to_prepare。这可行,但在我的开发环境中重新加载每个请求的路由似乎有明显的延迟,所以我不确定这是否是一个好的调用,尽管它至少是 DRY。
ruby-on-rails - 数据库Rails 2.3中的回形针宝石和自定义文件名
我正在尝试使用初始化程序中的 Paperclip.interpoles 为通过回形针 gem 上传的文件创建自定义文件名。我遇到的问题是上传文件时更新文件系统上的自定义文件名,但数据库文件名仍然是源文件的名称。有没有更好的方法,然后必须重新分配数据库属性来处理这个问题?
c# - 代码生成中的属性/字段初始值设定项
我正在使用 CodeDom 和纯代码字符串在 Visual Studio 扩展中生成代码。我的扩展使用反射读取当前类声明的字段和属性,并生成构造函数、初始化程序、实现某些接口等。
生成器类很简单:
我以两种方式被困在字段和属性初始化程序中。
首先,虽然default(AnyNonGenericValueOrReferenceType)
似乎在大多数情况下都有效,但我对在生成的代码中使用它感到不舒服。
其次,它不适用于泛型类型,因为我找不到获取泛型类型的基础类型的方法。所以如果一个属性是List < int >
,property.PropertyType.Name
返回List`1
。这里有两个问题。首先,我需要在不使用字符串操作的情况下获取泛型类型的正确名称。其次,我需要访问底层类型。完整的属性类型名称返回如下内容:
c++ - 命名空间之前的预期初始化程序
所以,我对 C++ 编程相当陌生,但我已经在 python 和 FreeBASIC 中广泛使用了 SDL。我确定我在这里遗漏了一些愚蠢的东西,但无论我尝试什么,我都会在我的 video.h 文件中收到错误“错误:'namespace'之前的预期初始化程序”。这让我有点发疯。