问题列表 - 第32110页

Scala类型构造函数误解

我正在尝试编写一个方法,该方法采用Map [K,Collection [V]]并将其转换为具有不同类型Collection的值的地图.该方法采用"multimap"和构建新集合的构建器.我这样使用它:

val multimap = new java.util.HashMap[Int, java.util.List[String]]
multimap.put(1, Arrays.asList("One"))
multimap.put(2, Arrays.asList("Two", "Three"))

val mapOfLists: java.util.Map[Int, java.util.Set[String]] =
    asMap(multimap, Builder.SET)
Run Code Online (Sandbox Code Playgroud)

这是构建器的样子:

trait Builder[C[_] <: java.util.Collection[_]]
{
    def create[V]: C[V]
}

object Builder
{
    val SET = new Builder[java.util.Set]()
    {
        def create[V]: java.util.Set[V] = new java.util.HashSet[V]
    }
}
Run Code Online (Sandbox Code Playgroud)

这是asMap()的实现.它有效,但我不明白 - 为什么我需要在最后输入类型?

def asMap[K, V, C[_] <: java.util.Collection[_]](
        multimap: java.util.Map[K, _ <: java.util.Collection[V]], builder: Builder[C]): java.util.Map[K, C[V]] =
{
    val result = new java.util.HashMap[K, C[V]]
    val iterator: Iterator[K] = multimap.keySet.iterator
    while …
Run Code Online (Sandbox Code Playgroud)

generics types scala

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

以下代码片段的行为是什么?

如果我在C/C++中意外编码,下面代码的行为和输出会是什么,

float a = 12.5;
printf("%d\n", a);
printf("%d\n", *(int *)&a);
Run Code Online (Sandbox Code Playgroud)

c c++ floating-point pointers

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

NSTableView双击/重命名

默认情况下,双击触发器在NSTableView中重命名.

如何双击而不是触发我自己的自定义代码(例如打开双击文件)?

而且:我如何让重命名就像在Finder中,您首先单击,然后再次单击并快速移动鼠标指针?这就是在Finder中触发重命名的方式.我想在NSTableView中使用它.

cocoa objective-c

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

ASP.NET名称修改是否一致?

当你有这样的ASP控件:

<asp:TreeView ID="TreeItems" runat="server"></asp:TreeView>
Run Code Online (Sandbox Code Playgroud)

它生成的html会破坏名称.如果我想直接访问生成项的ID,我可以尝试找出它破坏名称的内容并查找该ID.

生成的项目的名称是否保证以Microsoft的任何标准以特定方式完成?如果他们发布了以不同方式执行此操作的新版.NET,我只是害怕这种情况.有没有办法在代码中生成自己的名称?

asp.net name-mangling

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

Maven:如何阻止部署插件记录上传进度?

我怎么能这样做Maven不会在Hudson控制台上垃圾邮件上传进度?

Uploading: http://www.example.com/archiva/repository/snapshots/com/example/app/1.0-SNAPSHOT/app-1.0-20100804.175640-1.war
4/9430K
8/9430K
12/9430K
16/9430K
20/9430K
24/9430K
28/9430K
Run Code Online (Sandbox Code Playgroud)

maven-2 hudson verbosity

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

为什么堆栈溢出在Visual C++中没有错误?

在Microsoft Visual C++ 2010中,我创建了一个程序,该程序可能会导致堆栈溢出.当我使用"开始调试"运行程序时,发生堆栈溢出时会引发错误.当我使用"start without debugging"运行它时,不会抛出任何错误,程序只是静默终止,就像它已成功完成一样.有人可以向我解释发生了什么事吗?还有其他任何编译器不会在堆栈溢出时抛出错误吗?

(我认为这是提出有关堆栈溢出的问题的正确位置.)

c++ stack-overflow

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

为什么不能用Ruby声明方法中的常量?

考虑以下情况,StubFoo是Foo的存根,我希望将其用于某些测试.

class Runner

  def run
      Foo = StubFoo
      foo = Foo.new
      # using Foo...
  end

end
Run Code Online (Sandbox Code Playgroud)

这会生成以下错误消息: Dynamic constant assignment

然而,在RSpec我可以做以下工作,这是有效的,并且完全合法:

it "should be an example" do
  Foo = StubFoo
  foo = Foo.new
  foo.to_s.should == "I am stubbed!"
end
Run Code Online (Sandbox Code Playgroud)

关于这一点的一些问题.

  • 为什么这适用于RSpec测试用例,而不是上述方法?
  • 据我所知,"它"只是RSpec中的一种方法,但我能够在"方法"中重新声明一个常量.

我在使用模拟框架之前做这个,纯粹想知道如何在Ruby中进行模拟,存根等等.我听说动态语言更容易模拟/存根,并且互联网上有指南,其中简单的类重新分配如上所述.根据我的研究,在Ruby中,不可能在方法中声明常量,但我如上所述会感到困惑.

编辑

对,这开始变得更有意义了.我已经更新了run,现在正在使用const_set.

  def run
      old = Foo
      self.class.const_set(:Foo, StubFoo)
      foo = Foo.new
      puts foo.to_s
      self.class.const_set(:Foo, old)
      foo = Foo.new
      puts foo.to_s
  end
Run Code Online (Sandbox Code Playgroud)

这会产生一个警告,然而,这是什么/如何模拟框架在Ruby中工作?显然更优雅,功能齐全,但他们只是压制这个警告?

ruby constants

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

ZSH 选项卡完成 - 不要填写第一个文件

如果我在一个文件夹中有文件“something1”和“something2”,我如何让 ZSH 的 tab 补全只填写常见的字符?例如,我会输入:

som<Tab>
Run Code Online (Sandbox Code Playgroud)

我希望它填充“某物”,而不是“某物1”。

当前 zstyles:

zstyle ':completion:*' special-dirs true
zstyle ':completion::complete:*' use-cache on
zstyle ':completion::complete:*' cache-path ~/.zsh/cache/$HOST
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s'
zstyle ':completion:*' menu select=1 _complete _ignored _approximate
zstyle -e ':completion:*:approximate:*' max-errors \
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
zstyle ':completion:*::::' completer _expand _complete _ignored _approximate
zstyle -e ':completion:*:approximate:*' max-errors \
zstyle ':completion:*:expand:*' tag-order all-expansions
zstyle ':completion:*' verbose yes …
Run Code Online (Sandbox Code Playgroud)

zsh

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

Django Admin:如何在同一视图中显示两个不同模型的字段?

我的网站使用Django的用户身份验证用户模型和自定义UserProfile模型来存储一些额外的数据(生日等).有没有办法在Django管理员中创建一个视图,将来自User和UserProfile模型的字段编织在一起?

我怀疑这个代码片段甚至不是很接近,但它可能有助于说明我正在尝试做什么:

from django.contrib import admin
from django.contrib.auth.models import User
from userprofile.models import UserProfile


class UserProfileAdmin(admin.ModelAdmin):
    list_display = ('name', 'gender', 'User.email') #user.email creates the error - tried some variations here, but no luck.

admin.site.register(UserProfile, UserProfileAdmin)
Run Code Online (Sandbox Code Playgroud)

错误信息:

NotperlyConfigured:UserProfileAdmin.list_display [2],'User.email'不是'UserProfileAdmin'的可调用或属性,或者在模型'UserProfile'中找到.

最终,我正在尝试创建一个管理视图,其中包含来自UserProfile的姓名和来自User的电子邮件.

django django-models django-admin

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

C# Windows 服务最新技术

全部,

我已经用 C# 从 ServiceBase 派生出来的 Windows 服务编写了一段时间。到目前为止,我的服务托管在服务器中,它们通常会侦听消息队列并处理消息。

是否有在 WCF 中创建此类服务的新方法?

谢谢,

MK

c# wcf windows-services

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