标签: named

构造函数链接或使用命名/可选参数

我是一个非常新的程序员,并且了解到我们希望最大程度地减少代码冗余,因此在我们进行更新时,我们可以进行尽可能少的更改,并最大程度地减少错误。

所以我有一个Student类,我想重载构造函数,所以如果我进行反向链接,它就是这样。

 public class Student
{
    string name;
    int Id;

    public Student()
    {
    }
    public Student(string name)
    {
        this.name = name;
    }
    public Student(string name, int Id) :this(name)
    {
        this.Id = Id;
Run Code Online (Sandbox Code Playgroud)

但这显然是不好的,因为出于某种原因我们希望所有代码都在一个构造函数中?易于阅读?

    public Student() : this(null, 0)
    { }
    public Student(string name) : this(name, 0)
    { }
    public Student(string name, int Id) 
    {
        this.name = name;
        this.Id = Id;
    }
Run Code Online (Sandbox Code Playgroud)

如果我进行前向链接,那么如果我们添加一个新的字段(例如字符串major)会怎样?如果我进行正向链接,则会使用添加的字段创建一个新的重载构造函数。但是现在我必须更改所有其他构造函数以调用新的构造函数。如果我进行反向链接,则只需创建一个新的构造函数并调用先前的重载构造函数即可。

    public Student(string name, int Id, string major):this(name, Id)
    {
        this.major=major;
    } 
Run Code Online (Sandbox Code Playgroud)

这似乎更好地遵循了OOP,但是我的教科书中的所有示例都显示了正向链接,并且没有说为什么不应该使用反向链接。

如果我使用命名/可选参数,则更加简单。

    public Student(string name = null, …
Run Code Online (Sandbox Code Playgroud)

c# parameters constructor named chaining

5
推荐指数
1
解决办法
1073
查看次数

如何创建命名引用类型元组?

以下行创建一个命名ValueTuple:

var tuple = (a:1, b:2, c:3, d:4, e:5, f:6);  
Run Code Online (Sandbox Code Playgroud)

值类型无法有效传递.是否C#7提供了创建该Tuple类型的命名元组的方法?

c# tuples reference-type named c#-7.0

5
推荐指数
1
解决办法
1290
查看次数

当使用命名变量赋值命名数组的值时,名称会自动由点组合

一个简单的例子:

a <- quantile(1:10, 0.1)
a
Run Code Online (Sandbox Code Playgroud)

输出:

10%
1.9
Run Code Online (Sandbox Code Playgroud)

使用a指定命名数组的值:

b = c(index=0, value=a)
b
Run Code Online (Sandbox Code Playgroud)

输出:

index value.10%
 0.0     1.9
Run Code Online (Sandbox Code Playgroud)

为什么"值"和"10%"会自动由点组合?如何避免这种情况,因为我只想将其命名为"价值"?

r named

5
推荐指数
1
解决办法
51
查看次数

Python通配符导入Vs命名导入

好吧,我的一个项目中有一些相当奇怪的行为,我希望有人可以告诉我原因.我的文件结构如下所示:

MainApp.py
res/
  __init__.py
  elements/
    __init__.py
    MainFrame.py
Run Code Online (Sandbox Code Playgroud)

在MainFrame.py中,我定义了一个名为RPMWindow的类,它扩展了wx.Frame.

在MainApp.py中,这有效:

from res.elements.MainFrame import *
Run Code Online (Sandbox Code Playgroud)

而这不是:

from res.elements.MainFrame import RPMWindow
Run Code Online (Sandbox Code Playgroud)

我意识到外卡导入不会伤害任何东西,但我更感兴趣的是理解为什么命名导入在外卡成功时失败.

使用类名时,我得到了这个回溯:

Traceback (most recent call last):
  File "C:\myApps\eclipse\plugins\org.python.pydev.debug_1.5.6.2010033101\pysrc\pydevd.py", line 953, in <module>
    debugger.run(setup['file'], None, None)
  File "C:\myApps\eclipse\plugins\org.python.pydev.debug_1.5.6.2010033101\pysrc\pydevd.py", line 780, in run
    execfile(file, globals, locals) #execute the script
  File "C:\Documents and Settings\Daniel\workspace\RPM UI - V2\src\MainApp.py", line 2, in <module>
    from res.elements.MainFrame import RPMWindow
  File "C:\Documents and Settings\Daniel\workspace\RPM UI - V2\src\res\elements\MainFrame.py", line 2, in <module>
    from res.elements.MenuBar import MenuBarBuilder
  File "C:\Documents and Settings\Daniel\workspace\RPM …
Run Code Online (Sandbox Code Playgroud)

python import wildcard named

4
推荐指数
1
解决办法
2563
查看次数

域名中的www不在nginx中工作

我是新手使用nginx,嗯,新的使用任何不是cpanel的东西......当你包含www时,我在使用nginx工作时遇到问题.在网址中.

www.mydomain.com > not work 404
mydomain.com > works
Run Code Online (Sandbox Code Playgroud)

我不确定我是否在命名配置文件或nginx的服务器配置上犯了错误.我有点匆匆学习,如果我在基本配置上犯了一些错误,我不会感到惊讶.我运行最新的nginx和php-fpm,除了我的域名问题,它还可以运行.

我(尝试?)运行子域名,他们工作,但使用www.将导致404.我使用来自我的主.org服务器域的名称服务器等.我将在下面发布所有相关内容,希望有人可以发现我正在制作/或制作的错误.

etc/hosts 
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
184.xxx.xxx.146 server.servername.org servername.org 
Run Code Online (Sandbox Code Playgroud)

named.conf中

   ... 
   view "localhost_resolver" {
/* This view sets up named to be a localhost resolver ( caching only nameserver ).
 * If all you want is a caching-only nameserver, then you need only define this view:
 */
   # match-clients …
Run Code Online (Sandbox Code Playgroud)

nginx named no-www

4
推荐指数
1
解决办法
8713
查看次数

如何在数据帧的特定命名列上使用`assign()`或`get()`?

有没有办法为数据框中的特定列分配值?例如,

dat2 = data.frame(c1 = 101:149, VAR1 = 151:200)    
j = "dat2[,"VAR1"]"  ## or, j = "dat2[,2]"
assign(j,1:50)
Run Code Online (Sandbox Code Playgroud)

上述方法不起作用.这也不是:

j = "dat2"
assign(get(j)[,"VAR1"],1:50)
Run Code Online (Sandbox Code Playgroud)

r named dataframe assign

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

防止R嵌套列表转换为命名向量

我想创建一个嵌套列表,例如,

> L <- NULL
> L$a$b <- 1
> L
$a
$a$b
[1] 1
Run Code Online (Sandbox Code Playgroud)

因为我需要在循环中进行赋值,所以我必须使用括号而不是美元,例如,

> L <- NULL
> a <- "a"
> b <- "b"
> L[[a]][[b]] <- 1
> L
a 
1
> b <- "b1"
> L[[a]][[b]] <- 1
Error in L[[a]][[b]] <- 1 : 
  more elements supplied than there are to replace
Run Code Online (Sandbox Code Playgroud)

这超出了我的预期:L成为命名向量而不是嵌套列表.但是,如果指定的值是长度超过1的向量,则问题将消失,

> L <- NULL
> L[[a]][[b]] <- 1:2
> L
$a
$a$b
[1] 1 2
> b <- "b1"
> L[[a]][[b]] …
Run Code Online (Sandbox Code Playgroud)

nested r list vector named

4
推荐指数
1
解决办法
264
查看次数

子进程的返回值c

我需要帮助将我的子程序中的"状态代码"返回给父程序,在那里它将检查状态代码,打印代码并退出父程序.这是一个类项目,所以我会在这里放一些相关的代码,但我不会出于显而易见的原因发布整个项目.

我已经通过exec分叉并创建了子进程.父进行一些奇特的数学运算并使用命名管道将数据推送到子进程.孩子做了一些更奇特的数学.当我使用关键字时,孩子需要返回它在结束时将花式数学返回到父级的次数,其中父级将看到这一点,打印出返回的数字,然后退出父级.

    int status;
    pid_t child_id;
    child_id = fork();
    if (child_id == 0)
    {
            // put child code here
            exec(opens second process);
    }
     if (child_id < 0)
    {
            perror("fork failed\n");
            exit(EXIT_FAILURE);
    }

     while(child_id != 0)
     {
       //parent process
       //do fancy math stuff here
       // pipe
      //open pipe
      //converted math to "string" to pass to other program
      // use fprintf to send data to other program
      fprintf(fp,"%s",str);
      //close pipe
//**************************************************
//this block doesn't work, always returns 0
      if (WIFEXITED(status)){
            int returned …
Run Code Online (Sandbox Code Playgroud)

c fork named-pipes named

4
推荐指数
1
解决办法
4547
查看次数

如何在haskell中访问名为tuples字段的newtype

我声明了以下新类型:

newtype Code = Code String deriving (Show)
newtype Name = Name String deriving (Show)
newtype Account = Account (Code, Name) deriving (Show)
Run Code Online (Sandbox Code Playgroud)

所以:

*Main Lib> :t Code
Code :: String -> Code
*Main Lib> :t Name
Name :: String -> Name
*Main Lib> :t Account
Account :: (Code, Name) -> Account
Run Code Online (Sandbox Code Playgroud)

然后我创建了一些实例:

cn = Code "1.1.1"
nn = Name "Land And Buildings"
an = Account (cn, nn)

*Main Lib> an
Account (Code "1.1.1",Name "Land And Buildings")
Run Code Online (Sandbox Code Playgroud)

现在我需要访问Code变量中的字段 …

haskell tuples named newtype

4
推荐指数
1
解决办法
543
查看次数

如何创建一个 typedef 来表示具有命名字段的 Dart 记录?

我想定义一个 typedef 来表示带有命名字段的 Dart 记录,但不确定语法是什么。

下面的代码显示了如何定义Command表示具有两个位置字段的记录的 typedef:

/// A record holding:
/// * the name of an executable,
/// * the list of arguments.
typedef Command =(
  String executable,
  List<String> arguments,
);

extension Compose on Command {
  /// Joins the executable and the arguments.
  String get cmd => '${this.$1} ${this.$2.join(' ')}';
}
Run Code Online (Sandbox Code Playgroud)

typedef record named dart

4
推荐指数
1
解决办法
328
查看次数