小编Mar*_*gel的帖子

D是Java和C++的可靠替代品吗?

d语言一个可靠的替代Java和C++?如何成为一个可靠的替代方案?我应该学习它吗?它值得传福音吗?

我问的主要原因是,几乎在这里使用新的C++标准(c ++ 0x),我很清楚,对于任何理解它的人来说,语言已经远远超过了不归路.我知道C/C++永远不会死,但在某些时候我们需要继续前进.即使是COBOL也有它的一天,Java在很多方面都取消了C++.下一个是什么?D填写账单吗?

c c++ java d

161
推荐指数
8
解决办法
4万
查看次数

C语言中I18N的资源

我正在玩c ++中的语言环境和I18N,并一直在寻找真实世界的例子.我在他的(2012年4月发布的C++ 11第2版)中阅读了Josusis关于I18N的章节,并发现它很有用,但没有真实世界的例子可以借鉴我不知道我是不是以下最佳实践是犯下初学者错误.StackOverflow可以用什么资源指向我在网络和印刷中用C++做I18N的东西?

还有什么库可用于C++,使i18n更容易?标准库中不需要的是什么?乍一看,似乎标准库中不存在UTF8支持.

编辑:

在做了一些阅读之后,似乎C和C++都是Unicode"不可知".对于处理以Unicode/UTF8/16/32编码的数据,似乎还需要使用第三方库.问题的关键在于标准库本身只考虑ISO 8859和相关的字符页面,这些页面根据您的语言环境设置而变化.这意味着我可能想要将ICU库用于字符串而不是使用std::string甚至是std::wstring.

c++ internationalization

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

使用无形来合并同一案例类的两个实例

我想将类的更新实例合并到基本实例中,如果基本实例中的该字段为"空",则选择基础实例上的更新实例的字段.以下示例合并baseupdate:

case class Foo(a: Option[Int], b: List[Int], c: Option[Int])

val base = Foo(None, Nil, Some(0))
val update = Foo(Some(3), List(4), None)

merge(base,update) == Foo(Some(3), List(4), Some(0))
Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情:

val g = Generic[Foo]
val aHList = g.to(base)
val bHList = g.to(update)

aHList
  .zipWithIndex
  .map({
    case (l: List, i: Int) => l ++ bHList(i)
    case (o: Option, i: Int) => if (!bHList(i).nonEmpty) {
      updateHList(i)
    } else {
      o
    }
    case (_, i: Int) => updateHList(i)
  })
Run Code Online (Sandbox Code Playgroud)

但事实证明,泛型.to方法不输出 …

scala shapeless

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

标签 统计

c++ ×2

c ×1

d ×1

internationalization ×1

java ×1

scala ×1

shapeless ×1