标签: constants

PHP中的动态常量名称

我试图动态创建一个常量名称,然后获取该值.

define( CONSTANT_1 , "Some value" ) ;

// try to use it dynamically ...
$constant_number = 1 ;
$constant_name = ("CONSTANT_" . $constant_number) ;

// try to assign the constant value to a variable...
$constant_value = $constant_name;
Run Code Online (Sandbox Code Playgroud)

但是我发现$ constant值仍然包含常量的NAME,而不是VALUE.

我也尝试了第二级间接$$constant_name但是这会使它变量而不是常量.

有人可以对此有所了解吗?

php constants indirection

72
推荐指数
3
解决办法
4万
查看次数

将一长串常量导入Python文件

在Python中,是否存在C预处理器语句的类似物,例如?:

#define MY_CONSTANT 50

另外,我有一个很大的常量列表,我想导入几个类.是否有类似的方法将常量声明为.py文件中的上述长序列语句并将其导入另一个.py文件?

编辑.

该文件Constants.py为:

#!/usr/bin/env python
# encoding: utf-8
"""
Constants.py
"""

MY_CONSTANT_ONE = 50
MY_CONSTANT_TWO = 51
Run Code Online (Sandbox Code Playgroud)

myExample.py读:

#!/usr/bin/env python
# encoding: utf-8
"""
myExample.py
"""

import sys
import os

import Constants

class myExample:
    def __init__(self):
        self.someValueOne = Constants.MY_CONSTANT_ONE + 1
        self.someValueTwo = Constants.MY_CONSTANT_TWO + 1

if __name__ == '__main__':
    x = MyClass()
Run Code Online (Sandbox Code Playgroud)

编辑.

从编译器,

NameError:"未定义全局名称'MY_CONSTANT_ONE'"

第13行的myExample中的函数init self.someValueOne = Constants.MY_CONSTANT_ONE + 1复制输出程序在0.06秒后退出代码#1.

python constants python-import

72
推荐指数
6
解决办法
8万
查看次数

static const和const有什么区别?

static const和之间有什么区别const?例如:

static const int a=5;
const int i=5;
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别吗?你什么时候用一个而不是另一个?

c static constants

71
推荐指数
2
解决办法
7万
查看次数

Swift常量:Struct或Enum

我不确定哪两个更好地定义常量.结构或枚举.每次使用它时都会复制一个结构?当我想到一个带有static let常量的结构时,在我看来,它一直都会被复制是没有意义的.但如果它不会被复制,那么我采取什么并不重要?

结构或枚举的选择有什么优势?

Francisco说使用Struct的.

Ray Wunderlich说使用Enum的.但我缺乏理由.

enums struct constants swift

68
推荐指数
5
解决办法
2万
查看次数

Decimal.One,Decimal.Zero,Decimal.MinusOne在.Net中的用途是什么?

简单的问题 - 为什么Decimal类型定义了这些常量?何必?

我正在寻找这个由语言定义的原因,而不是对编译器的可能用途或影响.为什么首先把它放在那里?编译器可以像在Decimal.Zero中一样轻松地在线0m,所以我不会将它作为编译器快捷方式购买.

.net c# vb.net constants decimal

64
推荐指数
2
解决办法
2万
查看次数

如何在Objective-c中将数组声明为常量?

以下代码给出了错误:

//  constants.h
extern NSArray const *testArray;
Run Code Online (Sandbox Code Playgroud)
//  constants.m
NSArray const *testArray = [NSArray arrayWithObjects:  @"foo", @"bar", nil];
Run Code Online (Sandbox Code Playgroud)

我得到的错误是
initializer element is not constant

或者,如果我拿走指针指针(*),我得到:
statically allocated instance of Objective-C class 'NSArray'

arrays constants objective-c

63
推荐指数
5
解决办法
8万
查看次数

时间在Java?

是否有一个Java包,包含所有烦人的时间常数,如毫秒/秒/分钟,分钟/小时/天/年?我不想复制那样的东西.

java time date constants

63
推荐指数
8
解决办法
4万
查看次数

烦人的"警告:已经初始化的常量"消息的解决方案

今天我偶然发现了Ruby常量的棘手问题.在我们的团队中,有人创建了一个模块,该模块包含在多个模型中.在我们的(规范)测试输出中,这会产生警告消息,例如:

/home/ayrton/project/lib/life_cycle.rb:5:警告:已初始化常量RESET

解决这个问题的一种方法是,声明你的常量如下:

module LifeCycle

  unless (const_defined?(:RESET))
    RESET = 'reset'
  end

  #...
end
Run Code Online (Sandbox Code Playgroud)

我还阅读了一篇由Avdi Grimm撰写的博客文章,该文章提供了另一种解决方案,我想知道你对此事的看法.

ruby constants

63
推荐指数
3
解决办法
4万
查看次数

病态使用常数

我为什么要写(正如我的同事所说):

import static org.apache.commons.lang.math.NumberUtils.INTEGER_ONE;
if (myIntVariable == INTEGER_ONE) { ... }
Run Code Online (Sandbox Code Playgroud)

代替:

if (myIntVariable == 1) { ... }
Run Code Online (Sandbox Code Playgroud)

我知道建议使用常量,但我认为价值NumberUtils.INTEGER_ONE永远不会改变!所以我写1.

java constants

63
推荐指数
4
解决办法
4488
查看次数

什么是常量参考?(不是对常数的引用)

一个相当理论的问题......为什么常量引用的行为与常量指针的行为不同,我实际上可以更改它们指向的对象?它们看起来像是另一个简单的变量声明.我为什么要用它们?这是我运行的一个简短示例,它编译并运行时没有错误:

int main (){
    int i=0;
    int y=1;    
    int&const icr=i;
    icr=y;          // Can change the object it is pointing to so it's not like a const pointer...
    icr=99;         // Can assign another value but the value is not assigned to y...
    int x=9;
    icr=x;
    cout<<"icr: "<<icr<<", y:"<<y<<endl; 
}
Run Code Online (Sandbox Code Playgroud)

c++ const reference constants

62
推荐指数
4
解决办法
11万
查看次数

标签 统计

constants ×10

java ×2

.net ×1

arrays ×1

c ×1

c# ×1

c++ ×1

const ×1

date ×1

decimal ×1

enums ×1

indirection ×1

objective-c ×1

php ×1

python ×1

python-import ×1

reference ×1

ruby ×1

static ×1

struct ×1

swift ×1

time ×1

vb.net ×1