是否有可能(甚至可取)在语句本身中为每个语句转换检索的元素?我知道列表中的每个元素都是类型<SubType>.
IE:
List<BaseType> list = DAO.getList();
for(<SubType> element : list){
// Cannot convert from element type <BaseType> to <SubType>
...
}
Run Code Online (Sandbox Code Playgroud)
而不是:
List <BaseType> list = DAO.getList();
for(<BaseType> el : list){
<SubType> element = (<SubType>)el;
...
}
Run Code Online (Sandbox Code Playgroud) 为什么链式模式匹配结构不可能?例如,以下是合法的,如果是荒谬的,
val a = ADT(5)
val b = a match {
case ADT(a) if a > 4 => ADT(a * 3)
case ADT(a) => ADT(a + 1)
}
b match {
case ADT(a) if a > 13 => doSomething(a)
case _ => {}
}
Run Code Online (Sandbox Code Playgroud)
但以下不是:
a match {
case ADT(a) if a > 4 => ADT(a * 3)
case ADT(a) => ADT(a + 1)
} match {
case ADT(a) if a > 13 => doSomething(a)
case _ => {}
} …Run Code Online (Sandbox Code Playgroud) 我正在寻找生成随机但逼真的文本的工具.我自己实现了马尔可夫链文本生成器,虽然结果很有希望,但我在改进它们方面的尝试并没有取得任何重大成功.
我会对使用语料库或基于上下文敏感或无上下文语法操作的工具感到满意.我希望该工具适合包含在另一个项目中.我最近的大部分工作都是用Java编写的,因此使用该语言的工具是首选,但我可以使用C#,C,C++甚至JavaScript.
这类似于这个问题,但范围更大.