小编whe*_*ies的帖子

使用Unapply提取相同的类型类

我有以下情况,给出两种类型,MA并且MB,我希望能够证明它们不仅具有一个,Applicative而且它们都具有相同的底层形状.我尝试过以下操作:

type UnapplyM[TC[_[_]], MA, M0[_]] = Unapply[TC, MA]{ type M[X] = M0[X] }

implicit def thing[MA, MB, M[_]](implicit un: UnapplyM[Applicative,MA,M], un2: UnapplyM[Applicative,MB,M]) = ...
Run Code Online (Sandbox Code Playgroud)

但是继续遇到不同的含义(即这不起作用.)A类型参数Unapply和工作类型投影可以做类似的事情.

这有一种方法可以采用这两种类型并且能够证明它们实际上是由同一类型类实例支持的吗?

scala scalaz scala-cats

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

如何在模板元编程中进行比较?

星期一我问过这个问题而且我的生活中我不知道该怎么回答.由于我不知道,我现在想要非常了解.好奇心正在杀死这只猫.给定两个整数,在编译时返回较小的整数.

template<int M, int N>
struct SmallerOfMandN{
    //and magic happenes here
};
Run Code Online (Sandbox Code Playgroud)

有指针或怎么做?(今晚将开始阅读Boost MPL.)

c++ templates metaprogramming

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

提升二进制static_visitor和apply_visitor

我有以下代码:

typedef boost::variant<LandSearchParameter, WaterSearchParameter> SearchParameter;

enum Visibility{
    CLEAR,
    CLOUDY,
    FOG,
    SMOKE
};

class DetectionGenerator : public boost::static_visitor<double>{
public:

    DetectionGenerator(const EnvironmentalFactors& factors);

    double operator()(const LandSearchParameter& land, Visibility vis) const;
    double operator()(const WaterSearchParameter& water, Visibility vis) const;

private:

    const EnvironmentalFactors mFactors;
};
Run Code Online (Sandbox Code Playgroud)

但如果我尝试以boost::apply_visitor下列方式使用它:

SearchParameter param = globeCover.generateSearch(lat, lon, altitude);
Visibility vis = weather.generateVisibility(lat, lon, altitude, bearing);
DetectionGenerator detectGen(envFactors);
double prob = boost::apply_visitor(detectGen, param, vis);
Run Code Online (Sandbox Code Playgroud)

并从gcc获得以下内容:

错误:没有匹配的函数用于调用 ‘apply_visitor(const SearchRescue::DetectionGenerator&, const boost::variant<boost::tuples::tuple<double, double, double, double, double, bool, bool, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>, boost::tuples::tuple<std::size_t, …

c++ templates boost

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

使用正则表达式重新格式化代码

我们有ArrayList几个类中的项目,每次我想在列表中插入新项目时都会给我带来麻烦.我按照我的方式设计课程是一个错误,但现在改变设计会比它的价值更令人头疼(官僚瀑布模型.)我应该预期格式更改客户为我们提供瀑布的文件该死的.

我想在python中编写一个简单的脚本进入一个类,将该项添加到列表中,然后增加以下项的所有检索.这听起来不太清楚:

Foo extends Bar{
    public Foo(){
        m_Tags.add("Jane");
        m_Tags.add("Bob");
        m_Tags.add("Jim");
    }

    public String GetJane() { return m_ParsedValue.get( m_Tags.get(1) ); }
    public String GetBob() { return m_ParsedValue.get( m_Tags.get(2) ); }
    public String GetJim() { return m_ParsedValue.get( m_Tags.get(3) ); }
}
Run Code Online (Sandbox Code Playgroud)

你看我是否要在"Jane"和"Bob"之间添加一个值然后我必须在Get*函数中增加整数.我只想在Python中编写一个简单的脚本来完成我的工作.有人非常尊重建议的正则表达式.

编辑:

是的,LinkedHashMap.如此简单,如此简单,所以现在不在设计规范中.我讨厌瀑布.讨厌它.整个过程是一个"小"和"简单"的部分,"不应该花费太多时间来设计".我犯了错误.它现在已经陷入困境了.

python java regex perl

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

为什么Scala编译器说逆向类型A出现在类型>中的协变位置:A <:任何类型B?

编译器告诉我这不能带有以下警告:"逆变型A出现在类型中的协变位置>:A <:任何类型B" 警告位于compose方法的type参数中.从逻辑上讲,类型定义对我来说很有意义.如果编译器没有问题,那么为什么问题与converse有关?

trait Foo[-A]{
  def compose[B >: A](t: Foo[B]): Foo[A] = t andThen this
  def andThen[B <: A](t: Foo[B]): Foo[B]
}
Run Code Online (Sandbox Code Playgroud)

我所需要的只是一个破坏的例子.然后我很高兴.

scala covariance contravariance

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

Go:将uint64转换为int64而不会丢失信息

以下代码的问题:

var x uint64 = 18446744073709551615
var y int64 = int64(x)
Run Code Online (Sandbox Code Playgroud)

是,y-1.在不丢失信息的情况下,是否可以在这两种数字类型之间进行转换以使用编码器和解码器?

buff bytes.Buffer
Encoder(buff).encode(x)
Decoder(buff).decode(y)
Run Code Online (Sandbox Code Playgroud)

请注意,在典型情况下,我没有尝试直接数字转换.我更关心的是保持随机数发生器的统计特性.

random go int64 uint64

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

项目经理和开发人员之间的平衡

现在,我的项目有点需求匮乏; 项目经理无法像我们建立的那样快速地获得良好的要求,因此我们的效率低于我们可能的效率.

每个项目经理有多少开发人员可以实现良好的平衡?

agile project-management scrum

5
推荐指数
2
解决办法
6212
查看次数

在NumPy中将dict转换为数组

我想要一个包含浮点数的字典的字典,用int编制索引并将其转换为numpy.array以便与numpy库一起使用.目前我手动将值转换为两个数组,一个用于原始索引,另一个用于值.虽然我看了numpy.asarray我的结论,但我一定是做错了.任何人都可以展示如何正确转换这样的创作?不必使用numpy.asarray,任何事都可以.

from collections import defaultdict
foo = defaultdict( lambda: defaultdict(float) )
#Then "foo" is populated by several
#routines reading results from a DB
#
#As an example
foo[ 7104 ][ 3 ] = 4.5
foo[ 203 ][ 1 ] = 3.2
foo[ 2 ][ 1 ] = 2.7
Run Code Online (Sandbox Code Playgroud)

我想只有一个浮动的多维数组,而不是一系列的dicts.

编辑:

抱歉耽搁了.这是我用来创建第一个只包含值的数组对象的代码:

storedArray = numpy.asarray( reduce( lambda x,y: x + y, (item.values() for item in storedMapping.values() ) ) )
Run Code Online (Sandbox Code Playgroud)

我希望有人可能知道一个可以将dict的dict转换为数组的魔法子弹.

python arrays dictionary numpy

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

C++:将Julian日期转换为Gregorian

我需要编写一个函数,将Julian日期(年,日,日和小时)转换为标准格式(年,月,日,小时和分钟)并将其表示为字符串.我认为必须有一个人已经编写了一个库或组件,可以进行从日期到月份和月份的转换.我查看了几个众所周知的日期时间库:

  • ctime - 特别是使用tm结构,mktime(tm *timeptr)因为这通常将tm结构的值设置为适当的位置,除了"忽略了成员的原始值tm_wday和tm_yday的timeptr ..."这没有帮助.
  • Boost :: DateTime - 格里高利的构建date(greg_year, greg_month, greg_day)没有帮助.但是,他们确实有一个date_from_tm(tm datetm)但是"字段:tm_wday,tm_yday,tm_hour,tm_min,tm_sec和tm_isdst被忽略." 再一次,没有帮助.
  • COleDateTime - 这个项目包含COM,为什么不呢?COleDateTime构造COleDateTime( int nYear, int nMonth, int nDay, int nHour, int nMin, int nSec )函数没有帮助.而且我没有看到任何其他转换功能.

正如您所看到的,这些都需要月份和月份,这正是我首先想要避免的.我必须要么缺少某些东西,要么没有找到合适的地方(不完美,尽我所能.)

有人可以帮忙吗?我宁愿避免自己编写,因为几乎总会有一些我想念的问题.

c++ datetime date julian-date

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

使用Mokito模拟Akka Actor的日志对象

我已经尝试了一些似乎可以编译但在单元测试期间抛出NullPointer异常的东西,所以我想知道如何可能克服单元测试中的限制.我有一个看起来像这样的课:

class LogWriter extends Actor{
  def receive{
    case x:Timing => log.info(x toString)
    case x:Event => log.info(x toString)
    case x:Any => log.warning("Improper message sent to LogWriter, %s".format(x toString))
  }
}
Run Code Online (Sandbox Code Playgroud)

但是尝试使用Specs2和Mockito支持进行单元测试,其中包括以下内容:

class LogWriterSpec extends Mokito with Specification{
  val mockedLog = mock[Logger]

  class MockedLogWriter extends LogWriter{
    @transient override val log = mockedLog
  }

  val writer = actorOf(new MockedLogWriter).start

  def testTiming = {
    val message = Timing("testTiming", 15 seconds)
    writer !! (message, 400)
    there was one(mockedLog).info(message toString)
  }

  def is = "A LogWriter" …
Run Code Online (Sandbox Code Playgroud)

unit-testing scala mockito actor akka

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