Tag: 常量

使用包含常量名称的简单variables访问类常量

我想在我的一个类中访问类常量: const MY_CONST = "value"; 如果我有一个variables,它包含这个常量的名字,如下所示: $myVar = "MY_CONST"; 我可以以某种方式访问​​MY_CONST的值吗? self::$myVar 不明显,因为它是静态属性。 variablesvariables也不起作用。

在Java中的时间常量?

是否有一个Java包,所有恼人的时间常量,如一分钟/小时/天/年的毫秒/秒/分钟? 我不想重复这样的事情。

奇怪的常量

我已经看到了这些真实的代码: #define SCREEN_DIMENSIONS 2 #define THREE_THOUSAND_FIVE_HUNDRED_TWENTY_TWO 3522 什么是你见过的最古怪的常数? PS当然,我最喜欢的JScript: bool b; switch (b.ToString().length) { case 4: // true … break; case 5: // false … break; )

用一个常数值直接进行数组初始化

每当你用C#分配一个新的数组 new T[length] 数组条目设置为T的默认null对于T是引用types或T的默认构造函数的结果,如果T是值types,则为null 。 在我的情况下,我想初始化一个Int32数组的值为-1: var myArray = new int[100]; for (int i=0; i<myArray.Length; i++) { myArray[i] = -1; } 所以在为数组保留内存之后,CLR将循环遍历新分配的内存,并将所有条目设置为default(int)= 0。之后,我的代码将所有条目设置为-1。 这使得初始化变得冗余。 JIT是否检测到这一点,并忽略初始化为0,如果不是,有没有办法直接用自定义值初始化一部分内存? 引用C#数组初始化 – 使用非默认值 ,使用Enumerable.Repeat(value, length).ToArray()是没有select的,因为Enumerable.ToArray分配一个新的数组,然后将值复制到它。

常量或类variables在ruby?

我已经使用Ruby进行了几个月的编程,而且我想知道何时使用常量来超越类variables,反之亦然。 (我在Rails中工作,思考模型中的常量)。 class Category TYPES = %w(listing event business).freeze end 要么 class Category @@types = %w(listing event business).freeze cattr_reader :types end 有一种情况比另一种更可取? 还是仅仅是品味/风格的问题?

如何在Java中声明一个常量

我们总是写: public static final int A = 0; 题: static final是在类中声明常量的唯一方法吗? 如果我写public final int A = 0; 相反, A仍然是一个常量或只是一个实例字段 ? 什么是实例variables ? 实例variables和实例字段有什么区别?

为什么不是最终的variables总是一个常量expression式?

在下面的代码中: final int a; a=2; byte b=a; // error: possible loss of precision 为什么我得到这个错误? 是不是a最终variables编译时间常量expression式,因此在赋值过程中隐式缩小到字节? 换句话说不是上面的代码等价于: final int a=2; byte b=a;

在C ++中声明/定义类范围常量的地方?

我很好奇C ++中不同的常量声明和定义选项的好处/坏处。 最长的时间,我只是在类定义之前在头文件的顶部声明它们: //.h const int MyConst = 10; const string MyStrConst = "String"; class MyClass { … }; 虽然这污染了全局命名空间(我知道这是一件坏事,但是从来没有发现过这个糟糕的原因),常量仍然会被限制到单个的翻译单元,所以不包含这个头文件的文件将无法访问这些常量。 但是,如果其他类定义了一个同名的常量,那么可以得到名称冲突,这可能不是一件坏事,因为它可能是一个可以重构的区域的好迹象。 最近,我决定在类定义本身内部声明类特定的常量会更好: //.h class MyClass { public: static const int MyConst = 10; … private: static const string MyStrConst; … }; //.cpp const string MyClass::MyStrConst = "String"; 常量的可见性将根据常量是仅在类内部使用还是用于其他使用该类的对象而需要进行调整。 这是我现在认为是最好的select,主要是因为你可以保持内部类常量私人的类和任何其他类使用公共常量将有一个更详细的引用常量的来源(例如MyClass: :MYCONST)。 它也不会污染全局名字空间。 虽然它不利于在cpp文件中要求非整数初始化。 我也考虑过把常量放到它们自己的头文件中,并把它们包装到名字空间中,以防其他类需要常量,而不是整个类的定义。 只是寻找意见和其他可能的select,我还没有考虑。

我可以使用string连接在PHP中定义类CONST吗?

我知道你可以使用string连接来相互创build全局常量: define('FOO', 'foo'); define('BAR', FOO.'bar'); echo BAR; 将打印“foobar”。 但是,我得到一个错误,试图使用类常量来做同样的事情。 class foobar { const foo = 'foo'; const foo2 = self::foo; const bar = self::foo.'bar'; } foo2的定义没有问题,但是声明const bar会出错 parsing错误:语法错误,意外的'。',期待','或';' 我也尝试过使用像sprintf()这样的函数,但是它不像string连接符'''那样喜欢左边的文字。 那么有没有什么办法可以创build类常量,而不是像foo2这样的小事例呢?

哪里是在Ruby on Rails应用程序中定义常量的最佳位置?

在Ruby on Rails应用程序中,定义常量的最佳位置在哪里? 我有一个常量数据的数组,我需要在我的应用程序中的所有控制器中可用。