小编Kav*_*rek的帖子

Perl循环标签是否算作GOTO?

通常,避免使用GOTO是一种好习惯.牢记这一点,我一直在与同事讨论这个话题.

请考虑以下代码:

Line:
    while( <> ) {
        next Line if (insert logic);
    }
Run Code Online (Sandbox Code Playgroud)

使用循环标签计算为goto吗?

以下是perldoc中的perlsyn所说的:

以下是C程序员如何在Perl中编写特定算法的代码:

for (my $i = 0; $i < @ary1; $i++) {
    for (my $j = 0; $j < @ary2; $j++) {
        if ($ary1[$i] > $ary2[$j]) {
            last; # can't go to outer :-(
        }
        $ary1[$i] += $ary2[$j];
    }
    # this is where that last takes me
}
Run Code Online (Sandbox Code Playgroud)

而这里的Perl程序员如何更熟悉这个成语可能会这样做:

OUTER: for my $wid (@ary1) {
    INNER:   for my $jet (@ary2) {
                 next OUTER if …
Run Code Online (Sandbox Code Playgroud)

perl loops goto flow-control

18
推荐指数
3
解决办法
7516
查看次数

Silverlight:如何在setter中为样式使用绑定(或等效的解决方法)

如果回答此问题的人是正确的,则不能将绑定作为Silverlight中样式的setter中的值.这是一种耻辱,因为我有4个文本块,它们都使用完全相同的绑定作为其Opacity属性.反正在某种意义上"风格"他们的Opacity属性是否所有四个都指向相同的绑定?否则,我必须单独设置每个Opacity属性.在我的情况下,它更糟糕 - 所有四个共享其他属性绑定,这意味着每个TextBlock声明相当长,但它们几乎都是相同的(它们的属性绑定,即).我知道我可以在代码隐藏中简明地设置所有共享属性绑定,但是如果有的话,我想要一个XAML解决方案.

谢谢!

data-binding silverlight xaml styles

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

如何在深度优先搜索中正确标记树的分支

我有一个像这样结构的树:

     __2__3__4
    /   \__5__6
0__1___7/__8__9
   \\
    \\__10__11__12
     \__  __  __
        13  14  15
Run Code Online (Sandbox Code Playgroud)

节点1有四个子节点(2,7,10,13),节点2和节点7各有两个子节点(作为子节点共享节点5).我要做的是创建一个CTE,它提供包含父节点,节点,远离根的距离以及包含在其中的分支(或分支)的记录.

IF (OBJECT_ID('tempdb..#Discovered') IS NOT NULL)
BEGIN
    DROP TABLE #Discovered
END

CREATE TABLE #Discovered
(
    ID int PRIMARY KEY NOT NULL,
    Predecessor int NULL,
    OrderDiscovered int
);

INSERT INTO #Discovered (ID, Predecessor, OrderDiscovered)
VALUES (@nodeId, NULL, 0);

    --loop through node connections table in a breadth first manner
WHILE @@ROWCOUNT > 0
BEGIN
    INSERT INTO #Discovered (ID, Predecessor, OrderDiscovered)
    SELECT c.node2_id
               ,MIN(c.node1_id)
               ,MIN(d.OrderDiscovered) + 1

    FROM #Discovered d …
Run Code Online (Sandbox Code Playgroud)

t-sql common-table-expression sql-server-2008 depth-first-search

7
推荐指数
1
解决办法
855
查看次数

如何判断SQL Server 2008中创建约束的方法是什么?

有两种方法可以创建约束,

方法A:

ALTER TABLE dbo.<tablename> ADD CONSTRAINT
<namingconventionconstraint> UNIQUE NONCLUSTERED
(
<columnname>
Run Code Online (Sandbox Code Playgroud)

方法B:

CREATE UNIQUE NONCLUSTERED INDEX
<namingconventionconstraint> ON dbo.<tablename>
(
<columnname>
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

但是,似乎需要使用依赖于它们的创建方式(Drop约束与drop index)的方法来删除这些约束.有没有办法确定创建约束的方法,而不是尝试方法并查看它是否失败?我知道你可以让SQL Server为你创建一个drop脚本,但我正在寻找某种查询.

sql sql-server constraints sql-server-2008

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

C#属性是隐藏实例变量还是更深层次的事情?

考虑班级:

public class foo
{
    public object newObject
    {
        get
        {
            return new object();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

根据MSDN:

属性是提供灵活机制来读取,写入或计算私有字段值的成员.可以使用属性,就像它们是公共数据成员一样,但它们实际上是称为访问器的特殊方法.这样可以轻松访问数据

和:

属性使类能够公开获取和设置值的公共方式,同时隐藏实现或验证代码.

get属性访问器用于返回属性值,set访问器用于分配新值.这些访问者可以具有不同的访问级别.有关更多信息,请参阅Accessor辅助功能.

value关键字用于定义set indexer分配的值.

不实现set方法的属性是只读的.同时仍然提供方法的安全性和灵活性.

这是否意味着在某个时间点newObject属性的值具有对返回的新对象的引用?

编辑从属性中删除readonly

edit2也想澄清一点,这不是一个财产的最佳用途,但它试图更有效地说明问题.

.net c#

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

为什么CreateObject("InternetExplorer.Application")创建两个iexplorer.exe进程?

我有一个使用InternetExplorer对象的vbscript导航到几个页面并将数据传递给那些页面.最近自从修补IE8以来,我注意到有些东西导致了僵尸iexplore.exe进程的创建.在运行我的脚本并在任务管理器中查看进程列表时,我注意到当我的脚本创建InternetExplorer.Application对象时,进程列表中会出现两个进程.这是正常的行为吗?为什么会这样?我想知道,因为即使在我测试期间,当我调用InternetExplorer对象的退出方法时,这两个进程似乎都被杀死了,我仍然怀疑这些多个进程是僵尸的根本原因.

以下是一些示例代码:

Set ie = CreateObject("InternetExplorer.Application")

ie.Navigate2 "Address"
ie.AddressBar = 1 
ie.Toolbar = 1 
ie.StatusBar = 1 
ie.Width = 600 
ie.Height = 400 
ie.Left = 300 
ie.Top = 150    
ie.Visible = 1

Do While ie.Busy
        WScript.Sleep 1
Loop

ie.Navigate2 "Address?variable=value"

Do While ie.Busy
        WScript.Sleep 1
Loop

...rest of code...
ie.Quit
Set ie = Nothing
Run Code Online (Sandbox Code Playgroud)

com vbscript

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

不清楚perl脚本执行

我的perl scipt的执行官不清楚.它不执行每行一行,我不知道为什么?

码:

#!usr/bin/perl -w
#line 200 "Level Check"
print "\n1";
$level=554;
if($level > 550){
warn "Level Higher Than 550 ($level)";
}
print "\n2";
Run Code Online (Sandbox Code Playgroud)

输出:

水平检查线203的水平高于550(554).

1

2

为什么不输出:

1

水平检查线203的水平高于550(554).

2

perl

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

ASP.NET MVC是否要求您使用母版页?

我的小组正在开发一个新的Web应用程序,正在考虑使用MVC.但是,有些成员宁愿包含页面而不是使用母版页.这可以在ASP.NET MVC中完成吗?在我用MVC探讨过的少量时间里,我还没有弄清楚如何实现这一目标.

asp.net-mvc master-pages

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

Cron如何影响Getopt :: Long模块?

我已经使用perl为mailx编写了一个包装器程序,它允许我轻松添加附件并做一些其他漂亮的事情,这些事情对于mailx来说有点令人沮丧.

在我的前几行中:

use strict;
use warnings;
use Getopt::Long;

my ( $to, $from, $subject, $attachments, $body, $file ) = (undef) x 7;

GetOptions(
    "to=s"          => \$to,
    "from=s"        => \$from,
    "subject=s"     => \$subject,
    "attachments=s" => \$attachments,
    "body=s"        => \$body,
    "file=s"        => \$file,
);
$to      = getlogin unless $to;
$from    = getlogin unless $from;
$subject = " "      unless $subject;
Run Code Online (Sandbox Code Playgroud)

到目前为止,这个包装器在被其他脚本调用时工作正常.但是现在我们有一个由Cron运行的脚本,一些有趣的事情正在发生.此Cron作业通过仅指定-t和-su来调用包装器,但省略-fr(正在使用标志的缩写).生成的电子邮件正确设置为:但是发件人列为-s@blah.com,主题行为空.根据上面的代码,我只能假设Cron和Getopt :: Long模块之间存在一些奇怪的问题.有谁知道为什么Cron的工作可能导致这种奇怪的行为?如果它是其他错误的东西会是什么?

unix perl cron

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