我有一个名为 的语法leach.xtext,当我将其放入文件中的 Xtext 时myDsl.xtext,出现以下错误:
生成的包“leach”可能不为空。
通过查看其他示例,它们都在 xtext 文件的开头添加了一些“规则”,然后指向语法中的第一个原始规则。但我不明白该怎么做。下面是整个语法,尽管我认为只有前几行应该是相关的。
grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
generate leach "http://www.xtext.org/example/mydsl/MyDsl" //error appears here..
start : ('Prepare' ':' '{' ingredients '}')+ (procdef) cook;
cook : 'Cook' ID ':' '{' instructions serve ';' '}';
ingredients : ingredient ( ',' ingredient)*;
ingredient : amount food;
quality : 'large' | 'sliced' | 'finelySliced' | 'chopped' | 'fresh' | 'grated' |
'ground' | 'unsalted' | 'fluffy' | 'goldenBrown' ;
amount : INT (unit);
unit : 'l' …Run Code Online (Sandbox Code Playgroud) 我的当前动画有问题,我正在使用Java Swing运行.这是一个离散事件模拟,基于文本的模拟工作正常,我只是在连接模拟到GUI输出时遇到问题.
在这个例子中,我将有10辆车要模拟.JPanels我将在几分钟内详细说明这些汽车.
所以考虑一下,事件process_car_arrival.每次计划执行此事件时,我都会在我的类中Car向被ArrayList调用者添加一个对象.本类具有以下相关属性:carsModelCar
Point currentPos; // The current position, initialized in another method when knowing route.
double speed; // giving the speed any value still causes the same problem but I have 5 atm.
RouteType route; // for this example I only consider one simple route
Run Code Online (Sandbox Code Playgroud)
另外它有以下方法move():
switch (this.route) {
case EAST:
this.currentPos.x -= speed;
return this.currentPos;
.
.
.
//only above is relevant in this example
Run Code Online (Sandbox Code Playgroud)
这一切都很好.所以从理论上讲,汽车沿着一条直线道路从东向西穿过,因为我只是 …
我需要提交一个我在 Visual Studio 中编写的程序。接收者要求提供一个他们可以构建和运行的视觉工作室解决方案。这是一个 WPF 项目。
目前我刚刚压缩了项目文件夹。但是当我尝试通过电子邮件发送它时,它拒绝发送它,因为它有一个 .exe 文件。
String camelCasePattern = "([a-z][A-Z0-9]+)+";
boolean val = "camelCase".matches(camelCasePattern);
System.out.println(val);
Run Code Online (Sandbox Code Playgroud)
以上打印错误。我正在尝试匹配以小写字母开头的驼峰模式。我试图稍微调整一下,但没有运气。camelCase 的模式是错误的吗?
我即将开始一个项目,我将建立一个道路网络模拟器.该程序将在GUI方面,在2D,所以基本上是一个自上而下的道路与简单的移动车等.
我确实有一些Swing的经验,我之前用它来构建一个模拟器但不是提供移动物体的实际动画等.因此,我的问题是,你是否建议使用swing来进行这样的项目,还是有其他可能更适合这种类型的应用?我不太了解其他工具包,但我要问的主要原因是确保摆动不会限制我从我需要实现的任何方面.
我正在用Java构建模拟.所以,我将我的模拟分为两部分:
1)模拟引擎
2)仿真模型
基本上我想要一些关于如何分割它的帮助(提示/建议),即什么去哪里.
所以我认为引擎会跟踪时间.它将监听事件,当事件到达时,它将更新模拟的状态(我正在构建离散事件模拟).仿真模型将具有GUI,它将从实际引擎获取逻辑和数据.我认为该模型将提供实际事件作为引擎的输入.我一直在考虑汽车类比,其中发动机是汽车车身,模型是驾驶员.所以我希望它的行为就像驾驶员(模型)告诉汽车(发动机)该做什么,即什么时候转弯以及什么速度等等
你认为我是以正确的方式解决这个问题吗?我能感觉到我听起来有点混乱而且不太清楚.所以我只是澄清一下,我正在寻找的只是一些输入,我应该如何拆分它以及引擎和模型的实际应该是什么.
另外,我想知道,如果我要实现MVC设计模式,那么我将如何尝试将其分解?
编辑:
根据模型,我的意思是我希望模拟具有一组特定的规则,然后引擎遵循这些规则.当我正在建造一个道路交通模拟器时,规则可能就像汽车的分布,驾驶员档案,汽车可能会和不可以做什么(例如停止红灯)等等.所以模型就像是"大脑"模拟,如果你得到我的意思,然后引擎是模型指定的"规则"集的实际模拟.我希望这更有意义.
我正在为Clock类编写一个JUnit测试方法,以确保对象的toString表示以我想要的格式返回.所以,我已经覆盖了toString()并将其编写为希望它被表示,但是当我将它与我在JUnit中期望的格式进行比较时,它会失败并显示以下内容:
org.junit.ComparisonFailure:expected:<时间:10:0 [0:0] 0>但是:<时间:10:0 [:] 0>
为什么符号[和]显示在这里?它是toString()表示的一部分,我不知道吗?相关代码如下:
JUnit的:
@Test
public void testFormattingOfTimeIsDisplayedCorrectly() {
final byte TEN = 10;
final byte DBL_ZERO = 00;
clock.setTime(TEN, DBL_ZERO, DBL_ZERO);
final String EXPECTED_STRING = "Time : 10:00:00";
assertEquals(EXPECTED_STRING, clock.toString());
}
Run Code Online (Sandbox Code Playgroud)
Clock类中的toString():
@Override
public String toString() {
return "Time : " + hours + ":" + minutes + ":" + seconds;
}
Run Code Online (Sandbox Code Playgroud)
和Clock类中的setTime方法:
public void setTime(byte hour, byte minutes, byte seconds) {
this.hours = hour;
this.minutes = minutes;
this.seconds = seconds;
}
Run Code Online (Sandbox Code Playgroud)
我想知道,也许它与使用字节有关?或者它是什么toString()返回我不明白的东西.我只是很困惑为什么我的JUnit方法不会将它们视为相同的格式.
我有一个列表,其中每个项目的格式为"标题,运行时",例如"Bluebird,4005"
我如何根据每个项目的字符串的运行时部分在Python中对该列表进行排序?
有没有办法在不使用正则表达式的情况下执行此操作?
所以我从我的asp.net coreapi得到以下 JSON 结构:
{
"contentType": null,
"serializerSettings": null,
"statusCode": null,
"value": {
"productName": "Test",
"shortDescription": "Test 123",
"imageUri": "https://bla.com/bla",
"productCode": null,
"continuationToken": null
}
}
Run Code Online (Sandbox Code Playgroud)
我有以下打字稿函数调用 API 来获得上述响应:
public externalProduct: ProductVM;
getProductExternal(code: string): Observable<ProductVM> {
return this.http.get("api/product?productCode=" + code)
.map((data: ProductVM) => {
this.externalProduct = data; //not working...
console.log("DATA: " + data);
console.log("DATA: " + data['value']);
return data;
});
}
Run Code Online (Sandbox Code Playgroud)
产品虚拟机:
export interface ProductVM {
productName: string;
shortDescription: string;
imageUri: string;
productCode: string;
continuationToken: string;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我无法将其反序列化为 …
我在测试中设置我的一个模拟有一些问题,最终会多次调用设置,但是参数不同,所以:
var testMock = new Mock<SomeClass>(MockBehavior.Strict);
for (int i = 30000; i <= 300000; i+=10000)
{
testMock.Setup(x => x.MethodA(SomeStaticClass.GetIt(varA, varB, i), It.IsAny<int>()))
.Returns(new List<SomeClass>());
}
Run Code Online (Sandbox Code Playgroud)
所以,上面的方法不起作用.似乎只有最后一次迭代才会被模拟"记住".如何在一个模拟上设置许多设置,就像我打算在上面做的那样?