问题列表 - 第49735页

我的方法和Predef中的conforms之间隐含歧义的问题

以下代码取自Apocalisp的优秀博客系列: scala中的类型级编程,并针对隐式解析方案进行了修改.但是,这不会编译,并显示以下消息:

error: ambiguous implicit values:
both method hParseNil in object HApplyOps of type => (com.mystuff.bigdata.commons.collections.hlist.HNil) => com.mystuff.bigdata.commons.collections.hlist.HNil
and method conforms in object Predef of type [A]<:<[A,A]
match expected type (com.mystuff.bigdata.commons.collections.hlist.HNil) => com.amadesa.bigdata.commons.collections.hlist.HNil
val l = hparse[HNil,HNil](HNil)
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么会发生这种情况,以及它是否可以修复?

sealed trait HList

final case class HCons[H, T <: HList](head: H, tail: T) extends HList {
  def :+:[T](v: T) = HCons(v, this)
}

sealed class HNil extends HList {
  def :+:[T](v: T) = HCons(v, this)
}

object HNil extends HNil

// …
Run Code Online (Sandbox Code Playgroud)

scala

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

与位置无关的代码和vtable

虚拟函数如何在与位置无关的代码中实现?

我知道如果我的类有虚函数,编译器通常会为它生成一个包含所有虚函数地址的vtable,并在我的类的每个对象中存储一个指向vtable的指针.

现在,如果我的代码与位置无关,则编译器无法知道虚函数的地址(或任何函数).那它是做什么的?

我想知道真正的编译器是做什么的(不是理论上可行的); 我最感兴趣的是Linux 32位平台,但其他平台也有点有趣.

c++ gcc virtual-functions dynamic-linking vtable

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

我为什么要把物品放在包里?

我刚刚看到一个关于System.Collections.ConcurrentBag<T>类的SO问题,我已经看到了ASP.NET MVC 的ViewBag属性Controller.根据我的经验,我已经了解到如果你理解他们在撰写文章时到底得到了什么,那么使用人们的代码会更容易.我认为它非常直观地表示a List<T>或a Dictionary<TKey,TValue>或a ReadOnlyCollection<T>表示什么.Bag另一方面,A 不是那么直观.

所以,我的问题是:这个比喻的意思什么Bag,特别是关于.NET框架?

.net collections .net-4.0 bag viewbag

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

如果某家工厂存在,我可以问工厂女孩吗?

我有一系列模型,我已经定义了工厂.我还有一个基于API的模型,它的子类ActiveResource::Base,我(显然)不能从工厂构建 - 当Factory Girl调用时我得到一个例外FooAPI.new.

我改为定义了一个Footest/lib.我想在我的测试做的是看是否存在某个符号(如工厂:foo,:bar等等),然后回落到试图直接建立相应的类的对象,使用String#classify.constantize.这是我目前笨重的实现:

  objects[name] = begin
    klass = name.to_s.classify.constantize
    klass.new
  rescue
    Factory.build name
  end
Run Code Online (Sandbox Code Playgroud)

我更喜欢这样的东西:

Factory.exists?(name) ? Factory.build(name) : name.to_s.classify.constantize.new
Run Code Online (Sandbox Code Playgroud)

这样,我就会在构造对象失败时得到一个适当的例外.

更新:感谢fd,我找到了一种方法来做到这一点,无需异常处理!

  objects[name] = if Factory.factories.include?(name)
    Factory.build name
  else
    klass = name.to_s.classify.constantize
    klass.new
  end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails factory-bot

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

监控大型(50000+)区域的最佳方式

我想创建一个应用程序,当用户进入某个区域时,该应用程序执行特定操作.

由于我想要监控的区域位于服务器端(大约50,000个位置),并且区域数量太大而无法一次注册进行监控,我想开始监控接近当前位置的区域用户.

为了实现这一点,我正在考虑使用startMonitoringSignificantLocationChanges 监视用户是否已更改位置,然后使用locationManager:didUpdateToLocation:fromLocation: 注册新区域来监视和取消注册现在距离太远的区域.

我的问题:

  • 我是否允许didUpdateToLocation在应用程序处于后台时拨打网络服务 ?
  • 这是实现此类功能的最佳方式还是您知道更好的方法?

谢谢.

cllocationmanager ios

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

Django 管理员:有条件地设置 list_display

是否有任何管理模型方法,如 get_list_display() 或某种方式,我可以有一些条件来设置不同的 list_display 值?

class FooAdmin (model.ModelAdmin):
    # ...
    def get_list_display ():
        if some_cond:
            return ('field', 'tuple',)
        return ('other', 'field', 'tuple',)
Run Code Online (Sandbox Code Playgroud)

django django-models django-admin

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

Jquery Timeline插件

我在横轴上搜索jquery timeline插件多年.

我过去见过一个.我无法找到它.搜索了jquery时间线插件.

javascript jquery timeline jquery-plugins

12
推荐指数
3
解决办法
4万
查看次数

如何实施恢复?

我一直在阅读Eric Lippert关于C#5中Asynchrony的博客文章(第4部分特别相关),并观看了Anders PDC10关于这个主题的讨论,我不清楚如何在单线程上下文中恢复异步方法的延续.

两个来源都讨论在单线程UI循环中使用异步方法来提高响应能力,在Anders的例子中,他提到当异步任务完成时,通过向消息泵添加消息来安排延续.

异步方法是否真的知道它需要执行看似特定于上下文的操作,还是简化?

更一般地说,如何在单线程上下文中处理异步方法的恢复?是否需要在单个线程内进行调度?

c# async-await c#-5.0

6
推荐指数
2
解决办法
592
查看次数

我怎么能确定在使用pause()时我没有丢失信号?

我正在编写一个程序,它使用fork来创建子进程,并在完成后对它们进行计数.我怎么能确定我没有丢失信号?如果孩子在主程序仍然处理前一个信号时发送信号,会发生什么?是"丢失"的信号?我怎么能避免这种情况?

void my_prog()
{
    for(i = 0; i<numberOfDirectChildrenGlobal; ++i) {    
        pid = fork();
        if(pid > 0)//parent
            //do parent thing
        else if(0 == pid) //child
            //do child thing
        else
            //exit with error
    }

    while(numberOfDirectChildrenGlobal > 0) {
        pause(); //waiting for signal as many times as number of direct children
    }

    kill(getppid(),SIGUSR1);
    exit(0);
}

void sigUsrHandler(int signum)
{
    //re-register to SIGUSR1
    signal(SIGUSR1, sigUsrHandler);
    //update number of children that finished
    --numberOfDirectChildrenGlobal;
}
Run Code Online (Sandbox Code Playgroud)

c linux signals

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

使用gson将json字段反序列化为纯字符串

我试图将json对象反序列化为java bean.我面临的主要问题是,我想object将json字符串的字段视为普通字符串,即使它包含一个可能正确的json对象.json结构是这样的:

{
    "type":"user",
    "object":{
        "id":"1", 
        ...}
}
Run Code Online (Sandbox Code Playgroud)

我如何告诉gson忽略该object值,以便它不被反序列化为一个对象?我希望它只被映射到String我的bean中的普通字段,以便我可以为它配置一个正确的反序列化,一旦我从type字段中获得了类型.

java gson deserialization

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