问题列表 - 第10370页

Moose的角色和特质有何不同?

我编写了一组使用角色在Moose中实现的类和接口.我无法理解的是Moose特征与角色的使用和实现的确切差异.

驼鹿文件规定:

重要的是要理解角色和特征是一回事.角色可以用作特征,特征是角色.区分这两者的唯一方法是以一种让Moose将短名称解析为类名的方式打包特征.换句话说,使用特征,调用者可以通过诸如"Big"之类的短名称来引用它,并且Moose会将其解析为类似MooseX :: Embiggen :: Meta :: Attribute :: Role :: Big的类.

我的理解是,特征和角色是"相同的".但是,当使用use Moose -traits 'Foo'语法实现该想法的基本测试时似乎没有做到我期望的那样.当然,我必须在这里遗漏一些东西.

第一个示例失败,"找不到对象方法'foo'"

package MyApp::Meta::Class::Trait::HasTable;
use Moose::Role;
sub foo { warn 'foo' }

package Moose::Meta::Class::Custom::Trait::HasTable;
sub register_implementation { 'MyApp::Meta::Class::Trait::HasTable' }

package MyApp::User;
use Moose -traits => 'HasTable';
__PACKAGE__->foo();  #Can't locate object method 'foo'
Run Code Online (Sandbox Code Playgroud)

与此相比(确实有效):

package MyApp::Meta::Class::Trait::HasTable;
use Moose::Role;
sub foo { warn 'foo' }

package Moose::Meta::Class::Custom::Trait::HasTable;
sub register_implementation { 'MyApp::Meta::Class::Trait::HasTable' }

package MyApp::User;
use Moose;
with 'MyApp::Meta::Class::Trait::HasTable';
__PACKAGE__->foo();  #foo
Run Code Online (Sandbox Code Playgroud)

perl moose

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

Subclipse:如何保持分支同步?

¿我如何使用subclipse插件执行此处描述的操作,这在命令行中非常简单?

我想我会确保我的工作副本与分支同步,然后我会去"合并......".我不知道该怎么做弹出窗口!

编辑:我已经读过某个地方,在弹出窗口中我必须将合并范围指示为一系列主干修订:从打开分支的修订版到HEAD.说得通.但我现在正在尝试使用测试项目,并且我没有在指向分支的工作副本上获得新的主干更改.我一定是在遗漏某些东西,或者它不起作用!

注意:Subclipse 1.4.8

eclipse subclipse svn

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

是否有与Maven集成良好的Scala单元测试工具?

我的公司开始使用Scala编写一些代码.我已经转移到这个项目,并且是TDD的忠实粉丝,所以我想建立一个单元测试框架.但是,我们用于此项目的构建系统是Maven,由于各种原因,这不会改变.

我看过ScalaTest和ScalaCheck,两者似乎都与Maven集成有关.我在谷歌搜索中看到的各种论坛帖子表明ScalaTest附带的一些套件不会在maven-scala-plugin下运行,而且我在Maven测试中运行ScalaCheck时根本无法找到任何信息.目标.

任何人都可以指出我可以使用Maven可靠地运行ScalaTest/ScalaCheck,还是建议一个替代方案?

maven-2 unit-testing scala

16
推荐指数
3
解决办法
6373
查看次数

如何以编程方式访问受密码保护的网站?

我们的部分网站受.htaccess风格的密码保护.当您尝试访问该网站的此区域时,Web浏览器会弹出一个对话框,询问您的用户名和密码.

我需要以编程方式访问它(例如使用ajax调用).服务器如何告诉我它需要密码以及如何提供密码?

passwords ajax .htaccess web-services

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

C#编译器如何检测COM类型?

编辑:我已将结果写成博客文章.


C#编译器有点神奇地处理COM类型.例如,这个陈述看起来很正常......

Word.Application app = new Word.Application();
Run Code Online (Sandbox Code Playgroud)

......直到你意识到这Application是一个界面.在接口上调用构造函数?Yoiks!这实际上被转换为对Type.GetTypeFromCLSID()另一个的调用Activator.CreateInstance.

此外,在C#4中,您可以对ref参数使用非ref 参数,并且编译器只是添加一个局部变量以通过引用传递,丢弃结果:

// FileName parameter is *really* a ref parameter
app.ActiveDocument.SaveAs(FileName: "test.doc");
Run Code Online (Sandbox Code Playgroud)

(是的,有一堆参数丢失.不是可选参数好吗?:)

我正在尝试调查编译器的行为,我没有假装第一部分.我可以做第二部分没有问题:

using System;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

[ComImport, GuidAttribute("00012345-0000-0000-0000-000000000011")]
public interface Dummy
{
    void Foo(ref int x);
}

class Test
{
    static void Main()
    {
        Dummy dummy = null;
        dummy.Foo(10);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想能够写:

Dummy dummy = new Dummy();
Run Code Online (Sandbox Code Playgroud)

虽然.显然它会在执行时爆炸,但没关系.我只是在试验.

编译器为链接的COM PIA(CompilerGeneratedTypeIdentifier)添加的其他属性似乎没有做到这一点......什么是神奇的酱油?

c# compiler-construction com c#-4.0

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

如何计算C#中两个日期之间的天数减去星期日?

我正在创建一个图书馆管理系统.

我已经使用时间戳来计算日期差异,并且在日期差异的帮助下,我也在计算罚款.

现在,此日期差异包括一周中的所有日期.但是对于图书馆应用程序,罚款只需在周内收取6天(周一至周六).

我无法做到这一点.

任何人都可以帮我完成这项任务吗?

提前致谢!!

c#

9
推荐指数
2
解决办法
4450
查看次数

JIRA SOAP API:获取用户列表

我正在使用C#中的一个工具来连接JIRA SOAP API.我已经阅读了可以在这里找到的文档:http://docs.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/index.html

有谁知道如何获得特定项目的所有可分配用户的列表?我还没找到怎么做......

api jira

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

嵌套$ .getJSON的范围问题


$.getJSON('http://twitter.com/followers/ids.json?screen_name=/…'+ query1 + '&callback=?',
  function(data) {
    alert('JSON data string 1 is: '+data); 
    $.getJSON('http://twitter.com/followers/ids.json?screen_name=/…'+ query2 + '&callback=?', 
      function(data1) {
        alert('JSON data string 2 is: '+data1); 
        f2=data1; 
        f1=data; 
        for(var i=0; i "less than" f1.length; i++)
        {
          for(var j=0; j "less than" f2.length; i++)
          {
            if (f1[i] == f2[j])
            {
              common[c]=f1[i];
              c+=1;
            }
          }
        }
        $('#content').append(''+common.length+'');//this line is not working though....... 
    });
});
Run Code Online (Sandbox Code Playgroud)

在这条线上

$('#content').append(''+common.length+'');
Run Code Online (Sandbox Code Playgroud)

实际上它并不显示页面挂起的输出

任何帮助将不胜感激.

谢谢

twitter jquery jsonp scope callback

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

重新排序WPF TabControl中的选项卡

有没有一种简单的方法来自定义WPF TabControl,以便它支持TabItem拖放 - 类似于IE和Firefox所做的.

.net wpf drag-and-drop tabcontrol wpf-controls

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

链接到网络上的目录

所以我正在使用ASP.NET MVC开发Intranet Web应用程序,我需要创建一个指向网络上文件夹的链接.所以,举一个例子,假设我想创建一个指向"C:\"的链接,这个uri存储在.我认为最简单的方法是创建一个常规链接,如下所示:site.DocsPath

<a href="file:///<%= site.DocsPath %>">Documents</a>
Run Code Online (Sandbox Code Playgroud)

这解决了:

<a href="file:///C:\ruby">Documents</a>
Run Code Online (Sandbox Code Playgroud)

但是,当您单击链接时,没有任何反应.这基本上就像点击普通文字一样; 绝对没有任何反应.没有重定向,没有.我在Firefox和IE中都试过这个,这两种情况都发生了同样的行为.

最初我认为它可能是斜线.所以我粘贴file:///C:\ruby到地址栏,看看它是否正确.有效.我在Firefox和IE中都尝试了这个,它在两者中都有用.

所以现在,我在想"嘿,也许我的HTML由于某种原因不合适".所以我创建了一个小的html页面,如下:

<html>
<head><title>Test Page</title></head>
<body>
    <a href="file:///C:\ruby">Documents</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

并且看哪.....它工作了.我点击链接,它实际上是在链接之后.这适用于Firefox和IE.

所以现在我很困惑.在两种情况下(通过ASP.NET MVC和静态HTML),HTML都完全相同.然而它只适用于静态HTML案例.


现在,我只是拉着稻草.我试着粘贴

<a href="file:///C:\ruby">Documents</a>
Run Code Online (Sandbox Code Playgroud)

直接进入ASP.NET MVC中的ViewPage .,不行.

然后我尝试将一个随机网站静态粘贴到ViewPage中,如:

<a href="http://www.google.com">Supreme Overlord of the Internet</a>
Run Code Online (Sandbox Code Playgroud)

这很有效.所以,现在我已经确认ASP.NET实际上可以遵循手工生成的链接.

现在,没有什么可做的,我做了一些疯狂的事情.我将链接设置为不存在的位置,例如:

<a href="file:///X:\this\doesnt\exist">I Hate ASP.NET MVC right now</a>
Run Code Online (Sandbox Code Playgroud)

Firefox坚持使用它并不遵循它.然而,IE实际上遵循它并给我一个错误页面.如果site.DocsPath …

browser asp.net directory asp.net-mvc

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