标签: default-value

DefaultValue属性不适用于我的自动属性

我有以下自动属性

[DefaultValue(true)]
public bool RetrieveAllInfo { get; set; }
Run Code Online (Sandbox Code Playgroud)

当我尝试在代码中使用它时我发现默认的false假设是因为我认为这是bool变量的默认值,有没有人知道什么是错的!?

c# attributes properties automatic-properties default-value

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

在函数中设置默认值?

我有一个简单的密度函数如下:

dpower <- function(x, b, r){
if ((b <= 0 | r <= 0)) 
return("Wrong parameters entered!")
else{
 density.temp <- (r/b)*(x/b)^(r - 1)
 density.temp[which(x >= b | x <= 0)] <- NA
 return(density.temp)
 } 
}
Run Code Online (Sandbox Code Playgroud)

此函数返回与指定分布的值x对应的密度,参数为b和r.我想在x上设置默认值,如果用户没有指定x,则默认值通过.我们可以简单地设置dpower < - function(x = x.default,b,r)......但是,我的默认值取决于r和b.我怎样才能做到这一点?假设x的默认值是:

seq(from = 0.05, to = b, by = 0.001)
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助,

r function default-value

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

React - 通过传递props更改输入defaultValue

考虑这个例子:

var Field = React.createClass({
    render: function () {
        // never renders new value...
        return (
            <div>
                <input type="text" defaultValue={this.props.value || ''} />
            </div>
        );
    }
});

var App = React.createClass({
    getInitialState: function () {
        return {value: 'Hello!'};
    },

    changeTo: function (str) {
        this.setState({value: str});
    },

    render: function () {
        return (
            <div>
                <Field value={this.state.value} />
                <button onClick={this.changeTo.bind(null, 'Whyyyy?')}>Change to "Whyyyy?"</button>
                <button onClick={this.changeTo.bind(null, void 0)}>Change to undefined</button>
            </div>
        );
    }
});

React.render(
    <App />,
    document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)

我想将值传递给defaultValue哑输入组件的支柱.然而,它永远不会重新呈现它.

javascript forms default-value reactjs

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

在C++中,命名参数的范围是否包含其默认值的表达式?

示例:这是合法的C++ 14吗?

#include <iostream>
static int d() {
    return 42;
}
static int e(int d = d()) {
    return d;
}
int main() {
    std::cout << e() << " " << e(-1) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

g ++ 5.4 -std=c++14喜欢它,但clang ++ 3.8 -std=c++14抱怨:

samename.cxx:3:23: error: called object type 'int' is not a function or function pointer
static int e(int d = d()) {return d;}
                     ~^
Run Code Online (Sandbox Code Playgroud)

c++ scope overloading default-value

21
推荐指数
2
解决办法
1319
查看次数

是否可以在Ruby中定义具有默认参数的块?

这个问题涉及传递给Ruby块的可选参数.我想知道是否也可以使用默认值定义参数,以及它的语法是什么.

乍一看,似乎答案是"不":

def call_it &block
  block.call
end

call_it do |x = "foo"|
  p "Called the block with value #{x}"
end
Run Code Online (Sandbox Code Playgroud)

...结果是:

my_test.rb:5: syntax error, unexpected '=', expecting '|'
    call_it do |x = "foo"|
                   ^
my_test.rb:6: syntax error, unexpected tSTRING_BEG, expecting kDO or '{' or '('
      p "Called the block with value #{x}"
         ^
my_test.rb:7: syntax error, unexpected kEND, expecting $end
    end
       ^
Run Code Online (Sandbox Code Playgroud)

ruby arguments default-value ruby-1.9

20
推荐指数
2
解决办法
8066
查看次数

枚举Java枚举值的枚举值

Java允许enum作为注释值的值.如何enumenum注释值定义一种通用默认值?

我考虑过以下内容,但不会编译:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public <T extends Enum<T>> @interface MyAnnotation<T> {

    T defaultValue();

}
Run Code Online (Sandbox Code Playgroud)

这个问题是否有解决方案?

BOUNTY

似乎没有直接解决这个Java角落案例.所以,我正在开始寻找最优雅的解决方案来解决这个问题.

理想的解决方案应该非常符合下列条件:

  1. 所有枚举都可以重复使用一个注释
  2. 从注释实例中检索作为枚举的默认枚举值的最小努力/复杂性

最好的解决方案

通过沙丘:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface MyAnnotation {

    // By not specifying default,
    // we force the user to specify values
    Class<? extends Enum<?>> enumClazz();
    String defaultValue();

}

...

public enum MyEnumType {
    A, B, D, Q;
}

...

// Usage
@MyAnnotation(enumClazz=MyEnumType.class, defaultValue="A"); 
private MyEnumType myEnumField;
Run Code Online (Sandbox Code Playgroud)

当然,我们不能强制用户在编译时指定有效的默认值.但是,任何注释预处理都可以验证这一点valueOf().

改进 …

java enums annotations default-value

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

依赖默认字段初始化-编程风格不好吗?

我得到了指向官方Oracle文档的链接:https : //docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

据说:

默认值

声明字段时,不一定总是需要分配值。编译器会将已声明但未初始化的字段设置为合理的默认值。通常,此默认值将为零或null,具体取决于数据类型。但是,通常认为依赖于此类默认值是不好的编程风格。

我想强调这一部分:

但是,通常认为依赖于此类默认值是不好的编程风格。

但是,天哪,我想这是语言规范的基本组成部分,因为它知道实例变量具有默认值。如果即使在Java SE库源代码中也广泛使用它,那么到底为什么这是一种不好的编程习惯呢?

java instance-variables default-value

20
推荐指数
3
解决办法
763
查看次数

我可以在C#4.0中指定默认的Color参数吗?

这是一个示例函数:

public void DrawSquare(int x, int y, Color boxColor = Color.Black)
{
    //Code to draw the square goes here 
}
Run Code Online (Sandbox Code Playgroud)

编译器不断给我错误: Default parameter value for 'boxColor'must be a compile-time constant

我试过了

Color.Black, 
Color.FromKnownColor(KnownColor.Black), and 
Color.FromArgb(0, 0, 0)
Run Code Online (Sandbox Code Playgroud)

如何使Color.Black成为默认颜色?另外,我不想使用字符串Black来指定它(我知道它可以工作).我想要的Color.Black价值.

c# parameters colors default-value c#-4.0

19
推荐指数
3
解决办法
1万
查看次数

如何为SafeConfigParser设置默认值?

我有一个配置文件如下:

[job]
mailto=bob
logFile=blahDeBlah.txt
Run Code Online (Sandbox Code Playgroud)

我想阅读使用的选项SafeConfigParser:

values = {} 
config = ConfigParser.SafeConfigParser()
try:
    config.read(configFile)
    jobSection = 'job'

    values['mailto'] = config.get( jobSection, 'mailto' )
    values['logFile'] = config.get( jobSection, 'logFile' )
    # it is not there
    values['nothingThere'] = config.get( jobSection, 'nothingThere' )
.... # rest of code
Run Code Online (Sandbox Code Playgroud)

最后一行当然会抛出一个错误.如何为config.get()方法指定默认值?

然后,如果我有一个选项文件如下:

[job1]
mailto=bob
logFile=blahDeBlah.txt

[job2]
mailto=bob
logFile=blahDeBlah.txt
Run Code Online (Sandbox Code Playgroud)

似乎没有办法为job1部分中的默认选项指定默认选项job2.

python default default-value configparser data-structures

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

无法在SQL中为本地变量分配默认值

我试图声明局部变量,如:

DECLARE @thresholdDate DATETIME = '2014-11-30'
Run Code Online (Sandbox Code Playgroud)

我收到错误:

无法为本地变量分配默认值.

根据文件:

DECLARE @find varchar(30); 
/* Also allowed: 
DECLARE @find varchar(30) = 'Man%'; 
*/
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

sql sql-server sql-server-2005 default-value declare

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