小编Ada*_*m S的帖子

Perl三元错误地输入"else"子句?

我有以下代码:

# List of tests
my $tests = [("system_test_builtins_sin", "system_test_builtins_cos", "system_test_builtins_tan")];

# Provide overrides for certain variables that may be needed because of special cases
# For example, cos must be executed 100 times and sin only 5 times.
my %testOverrides = (
    system_test_builtins_sin => {
        reps => 5,
    },
    system_test_builtins_cos => {
        reps => 100,
    },
);

my %testDefaults = (
    system_test_reps => 10,
);

# Execute a system tests
foreach my $testName (@$tests)
{
    print "Executing $testName\n";
    my …
Run Code Online (Sandbox Code Playgroud)

perl ternary-operator

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

Git:创建一个依赖于其他Gerrit更改的提交?

在我的工作地点,我们使用Gerrit服务器进行代码审查.通常,不同的人会创作不相关的提交.我遇到了一个问题,我必须创建一个依赖于另外两个不相关的提交的提交.

假设gerrit服务器上有两个提交:

  • 提交A:"添加函数flipImage"
  • 提交B:"添加函数rotateImage"

这两者是相互独立的.我的工作是实现Commit C:"添加函数flipRotateImage".这需要提交A和B两者.

我有两个问题:

  1. 我如何"拉"A和B,然后创作C,这样我实际上并没有改变A或B?换句话说,我不能挑选A或B,因为它会改变它们.我的目标是能够上传C进行审核而无需更新A和B.
  2. 假设A的作者上传了一个新的补丁集.我想更新我的工作分支,以便我的链中的"A"是最新的"A",而不是旧的补丁集.可以这样做吗?

git gerrit

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

ScaleTransform中的DoubleAnimation

作为展览,我正在尝试在ScaleTransform的ScaleX和ScaleY属性上使用DoubleAnimation.我有一个矩形(144x144),我想在五秒钟内制作矩形.

我的XAML:

<Window x:Class="ScaleTransformTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
    <Grid>
        <Rectangle Name="rect1" Width="144" Height="144" Fill="Aqua">
            <Rectangle.RenderTransform>
                <ScaleTransform ScaleX="1" ScaleY="1" />
            </Rectangle.RenderTransform>
        </Rectangle>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

我的C#:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    ScaleTransform scaly = new ScaleTransform(1, 1);
    rect1.RenderTransform = scaly;

    Duration mytime = new Duration(TimeSpan.FromSeconds(5));
    Storyboard sb = new Storyboard();

    DoubleAnimation danim1 = new DoubleAnimation(1, 1.5, mytime);
    DoubleAnimation danim2 = new DoubleAnimation(1, 0.5, mytime);
    sb.Children.Add(danim1);
    sb.Children.Add(danim2);

    Storyboard.SetTarget(danim1, scaly);
    Storyboard.SetTargetProperty(danim1, new PropertyPath(ScaleTransform.ScaleXProperty));
    Storyboard.SetTarget(danim2, scaly);
    Storyboard.SetTargetProperty(danim2, new PropertyPath(ScaleTransform.ScaleYProperty));

    sb.Begin();
} …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf wpf-controls

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

等待动画,渲染完成 - XAML和C#

我有一种情况,我正在动画我的XAML应用程序的一部分,我需要等待动画和渲染完成后才能继续我的代码.到目前为止,我的函数的尾端看起来像:

    ProcExpandCollapse.Begin();
    while (ProcExpandCollapse.GetCurrentState() != ClockState.Stopped) { }
}
Run Code Online (Sandbox Code Playgroud)

从理论上讲,这将等到动画结束.但它不会等到渲染完成 - 绘制应用程序的线程可能仍然没有重新绘制动画.

动画正在扩展UIElement,然后我的代码的下一部分使用它的渲染大小来做一些事情.那么我的问题是,在继续之前我如何等待我的UI元素重新渲染?

c# wpf animation xaml

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

iTextSharp for PDF - 如何添加文件附件?

我正在使用iTextSharp在C#中创建PDF文档.我想将另一个文件附加到PDF.我试图这样做有很多麻烦.这里的例子显示了一些注释,显然是附件.

这就是我尝试过的:

writer.AddAnnotation(its.pdf.PdfAnnotation.CreateFileAttachment(writer, new iTextSharp.text.Rectangle(100,100,100,100), "File Attachment", its.pdf.PdfFileSpecification.FileExtern(writer, "C:\\test.xml")));
Run Code Online (Sandbox Code Playgroud)

那么,会发生什么呢?它会在PDF上添加注释(显示为一个小注释语音气球),这是我不想要的.test.xml显示在Adobe Reader的附件窗格中,但无法读取或保存,并且其文件大小未知,因此可能永远不会正确附加.

有什么建议?

c# pdf pdf-generation itext itextsharp

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

如何在OpenCL中使用clCreateProgramWithBinary?

我正在尝试使用clCreateProgramWithBinary获得一个基本程序.这是我知道如何使用它而不是"真正的"应用程序.

我看到其中一个参数是二进制文件列表.我究竟要如何创建一个二进制文件来测试?我有一些测试代码,它从源代码创建程序,构建和排队.在这个过程中的某个时刻是否有一个二进制文件可以输入clCreateProgramWithBinary?

这是我的一些代码,只是为了了解我的整体流程.为简单起见,我省略了注释和错误检查.

program = clCreateProgramWithSource(clctx, 1, &dumbkernelsource, NULL, &errcode);
errcode = clBuildProgram(program, env->num_devices, env->device, NULL, NULL, NULL);
mykernel = clCreateKernel(program, "flops", &errcode);
errcode = clGetKernelWorkGroupInfo(mykernel, *(env->device), CL_KERNEL_WORK_GROUP_SIZE, sizeof(local), &local, NULL);
global = num_workgroups * local;
errcode = clEnqueueNDRangeKernel(commands, mykernel, 1, NULL, &global, &local, 0, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)

opencl

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

Lisp:不帮助返回一个值?

我编写了一个接受字符串列表的函数,并逐行打印.

(defun print-to-lines (slist)
    (cond
        ((null slist) slist)
        (t (let ((empty (write-line (car slist)))) (print-to-lines (cdr slist))))))
Run Code Online (Sandbox Code Playgroud)

这很好用,除了在输出结尾有一个额外的返回值(在这种情况下为NIL)(在调试窗口中运行时):

CG-USER(16): (print-to-lines '("adam" "emilio" "eoln"))
adam
emilio
eoln
NIL
Run Code Online (Sandbox Code Playgroud)

我理解额外的NIL来自哪里(它是我的函数的返回值),但我希望它不在那里.我的任务规定这不存在.有没有办法"伪造"它或禁用它?

lisp common-lisp

5
推荐指数
3
解决办法
4164
查看次数

为什么哈希函数返回size_t,它是如何使用的?

我理解哈希表的数学基础.我有一个哈希函数(我发现在某处)下面:

/* Fowler / Noll / Vo (FNV) Hash */
static const size_t InitialFNV = 2166136261U;
static const size_t FNVMultiple = 16777619;
size_t myhash(const string &s, int length)
{
    size_t hash = InitialFNV;
    for(size_t i = 0; i < length; i++)
    {
        //XOR the lower 8 bits
        hash = hash ^ (s[i]);

        //Multiply by the multiple
        hash = hash * FNVMultiple;
    }
    return hash;
}
Run Code Online (Sandbox Code Playgroud)
  1. 为什么这会返回size_t
  2. 如何使用它来编写一个 store()将字符串放在哈希表中的函数?
  3. 如何适应一系列角色?
  4. 关于#3,for用一个while终止于'\0'字符的循环替换循环是否合适?

仅供参考,我正在研究第二次面试,这就是我要问的原因.

c++ hash hashtable

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

可读条件逻辑没有不必要的执行?

我正在努力使下面的代码既可读又具有高效性.我想避免任何不必要的呼叫,getFlagB()同时也不要重复任何事情.下面我写了两种方法,每种方法都满足这些标准中的一种.

假设getFlagB()不能以任何方式改变.有没有办法在C中同时满足这两个要求,而不创建额外的标志?

// Method 1 - doesn't repeat code blocks but calls getFlagB even when it may not need to
void foo(int flagA)
{
    int flagB;
    getFlagB(&flagB);

    if(flagA & flagB)
    {
        // Code block 0
    }
    else
    {
        // Code block 1
    }
}

// Method 2 - doesn't no extra call to getFlagB, but repeats code block 1
void foo(int flagA)
{
    int flagB;

    if(flagA)
    {
        getFlagB(&flagB);
        if(flagB)
        {
            // Code block 0
        }
        else …
Run Code Online (Sandbox Code Playgroud)

c

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

Typedef 函数指针,用于返回指向其自身类型函数的指针的函数?

那是一口。基本上我有这个:

typedef int (*decker_function_t)(int);

decker_function_t decker;
// Some logic making decker point to a real function
int i = decker(5);

return 1;
Run Code Online (Sandbox Code Playgroud)

但是,我真正想要的是 type 的函数decker_function_t返回 的类型decker_function_t,而不是int. 我无法弄清楚如何使 typedef 自引用。这可能吗?

另请注意,我严格要求的是 C,而不是 C++,

c

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