问题标签 [class-constants]
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.
matlab - MATLAB 类常量的性能
我的代码中有几个辅助函数,对于给定的数值计算,它们会被多次调用。这些辅助函数使用一些常数值进行计算。多个辅助函数可能使用相同的常量值。
这似乎是用常量值定义类属性的理想方案。但是,我做了一些基准测试,结果让我感到非常惊讶。
考虑以下类,例如 ( Consts.m
):
以及以下文件 ( speed_tests.m
):
当我speed_tests()
在 MATLAB R2010b 上运行时,这是我得到的(您的里程可能会有所不同):
也许我太习惯于其他编程语言(真正的常量可能在编译时简单地被文字替换),但是在 MATLAB 中访问类常量真的那么慢还是我错过了什么?
当我在 MATLAB R2013a(同一台计算机)中尝试相同的操作时,这种直接常量访问似乎已经改进了很多:
尽管如此,没有一个非硬编码版本接近硬编码版本。这是我在工作中仅有的两个 MATLAB 版本,所以我不知道这些年来这是否一直在改进(这与我自己无关,因为无论如何我都无法使用更新的版本)。
CPU 时间对于我正在开发的东西来说是一个非常重要的因素,但如果可以的话,我想避免用硬编码的文字填充代码。类常量不是所谓的避免这种情况的方法吗?
还有什么我可以考虑的吗?
注意:真正的辅助函数每次都会用不同的参数调用,所以缓存结果对我来说没有帮助。
php - 如何将另一个文件中的变量分配给类常量?
我有一组在我的代码库中不变的 API 密钥——我有一个开发密钥和一个实时密钥。它们存储在自己的“keys.php”文件中。
我有一个处理访问 API 的类,并且我将类中的键存储为类常量。
我希望能够将开发密钥换成活动密钥,并在我的类的静态方法中访问它们。
当我像这样分配类常量时,这很好用:
但是想将密钥存储在他们自己的文件中,并将它们包含到类文件中,并像这样定义这些常量:
但显然我不能将变量分配给常量,即使该变量在程序执行期间不会改变值。
还有另一种方法可以使用变量分配给常量吗?或者至少,将它们的密钥保存在他们的集中文件中,但仍然在我的类的静态方法中访问它们?
angular - 如何在 Angular 2+ 组件中定义私有常量变量
我们是否在组件本身中有类似私有静态变量的东西。不像Global Constants,而是类(组件)本身私有的东西。
php - 如何在 PHP 5.6 版本中使用全局常量而不是类常量
我正在使用Monolog创建我的应用程序的日志记录系统。在核心应用程序文件中,创建新的 Monolog 对象后,我需要在日志文件中选择要打印的日志级别。我想使用一个全局常量LOG_LEVEL
,它可以是“DEBUG”、“INFO”等。我需要 Monolog 类将其值视为类常量。
我需要'LOG_LEVEL'常量被独白类用作'ERROR',而不是'LOG_LEVEL'。我在这里做错了什么,现在已经搜索了几个小时没有任何运气的答案。
ruby-on-rails - Rails 常量赋值
我正在阅读 rails autoloading_and_reloading_constants。在该部分2.2 Class and Module Definitions are Constant Assignments
我理解它所说的部分
评估为
Project = Class.new(ApplicationRecord)
但没看懂这部分
因此,当人们非正式地说“String 类”时,它的真正含义是:存储在名为“String”的常量中的类对象,存储在 Object 常量中的类对象。String 是一个普通的 Ruby 常量,所有与常量相关的东西,比如解析算法都适用于它。
有人可以简要解释一下吗?
php - PHP:输入参数的类型声明中的类常量
对于自定义记录器,我想强制调用者传递在Psr\Log\LogLevel
.
此类定义如下:
记录器的功能(错误)如下所示:
这不起作用,因为 LogLevel::DEBUG 例如是一个字符串而不是类的实例。有没有办法在 PHP 类型声明中强制使用类常量?因为如果我定义string
那么你显然可以传递任何字符串,但我只想允许声明的常量。
haskell - Problem matching apparently similar types in Haskell
This small program works well with concrete types of Int
but I wanted to try to make the function the most general with type constraints.
The problem is that I don't understand the error message as the two "rigid types" seem to have the same constraints, but can't be matched.
Here is the error message:
c++ - 更复杂的钻石问题实例。如何使它与常量字段一起工作?
让我们考虑普通的钻石问题,但略有改进。现在 class A
有常量字段。
那么,用什么来代替问号是明智的呢?或者也许它可以用不同的方式解决?
excel - 为 Excel VBA 创建常量库的理想方法是什么?
我希望为结构计算创建一组函数。这个想法是有一个模块或类似的我可以导入到 Excel 工作簿中,并开始使用 VBA 中的函数来满足我的需要。
我最初需要做的是用数据常量定义一些标准变量。例如管道数据的集合:商业名称、内径、外径、每米重量等。它是一个常量库:工业管道都是相同的,并且随着时间的推移不会发生太大变化。
在 VBA 中执行此操作的最佳方法是什么?最初我认为一个普通的旧公共数组或字典可以做到这一点。有了字典,我可以做一些事情:
但是有初始化的问题。我会将管道数据保存在模块中的代码中,但我必须记住在每段代码的开头调用一个 init_pipes 子程序,以便将数据加载到数组中并使其可用。
另外,我想我必须为每个管道参数做一个字典:pipes_diameter、pipes_unitweight、pipes_sectionarea 等。编码听起来不是很有趣。
所以向上移动,我想我可以做一个管道类。然后执行以下操作:
所有相关数据都将存储在类模块中。加载模块,创建你的对象,你就可以得到可用的数据了。我不得不考虑如何组织课程以使其能够检索和更新数据,但它看起来是迄今为止最有希望的选择。
我是对的,还是有一种更简单的方法可以做到这一点,而不涉及 VBA 中的自定义类?