我知道以下项目(主要来自http://www.w3.org/community/markdown/wiki/MarkdownImplementations):
用Java实现:
在Scala中实现:
问:各自的表现特征,陷阱,怪癖是什么?哪些支持Github扩展?你会推荐哪一个玩游戏!/ Scala应用程序?
我想在我的Play的页脚中添加构建信息!应用程序(Play!2.0.4 with Scala),类似于stackoverflow上的完成.我是SBT的新手,很高兴大多数时候一切都像魅力一样.:-)
基本上,我想从中提取应用程序版本project/Build.scala,添加当前日期,最后添加一个内部版本号(自动递增,但这可能是另一个要发布的问题的主题).应将此信息添加到conf/build-info.confmain中包含的文件中conf/application.conf.我知道如何从应用程序配置中提取构建信息并将其添加到页面中.
感谢您的时间!
我有一些遗留Java代码,它在我的控制之外的某处定义了一个泛型payload变量(即我不能改变它的类型):
// Java code
Wrapper<? extends SomeBaseType> payload = ...
Run Code Online (Sandbox Code Playgroud)
我在我的代码中收到了一个payload像方法参数这样的值,并希望将它传递给Scala case class (用作带有actor系统的消息),但是没有得到正确的定义,这样我至少得不到编译器警告.
// still Java code
ScalaMessage msg = new ScalaMessage(payload);
Run Code Online (Sandbox Code Playgroud)
这给出了编译器警告"类型安全:构造函数...属于原始类型......"
Scala case class定义为:
// Scala code
case class ScalaMessage[T <: SomeBaseType](payload: Wrapper[T])
Run Code Online (Sandbox Code Playgroud)
如何定义案例类以使代码干净地编译?(遗憾的是,更改Java Wrapper类的代码或payload参数的类型不是一个选项)
更新以阐明有效负载参数的来源
添加为了比较,在Java中,我可以像定义payload变量一样定义参数:
// Java code
void doSomethingWith(Wrapper<? extends SomeBaseType> payload) {}
Run Code Online (Sandbox Code Playgroud)
并相应地调用它
// Java code
doSomethingWith(payload)
Run Code Online (Sandbox Code Playgroud)
但我不能直接实例化一个Wrapper对象而不会得到"原始类型"警告.在这里,我需要使用static辅助方法:
static <T> Wrapper<T> of(T value) …Run Code Online (Sandbox Code Playgroud)