小编use*_*871的帖子

"主题<{}>"类型中不存在"地图"属性

所以,我已经看过其他关于类似问题的其他帖子,但没有一个解决方案有帮助.

我也在IntelliJ IDEA 15中进行此开发,而不是Visual Studio.我目前使用的是Typescript 2.0.3.

import { Injectable } from '@angular/core';
import { Effect, StateUpdates, toPayload } from '@ngrx/effects';
import { Subject } from 'rxjs/Subject';
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/observable/dom/webSocket'
import 'rxjs/add/operator/map';

import { AppState } from '../reducers';
import { NGRXWebSocketService } from '../shared/ngrxWebsocket.service';
import { BASE_URL } from "../shared/ngrxWebsocket.service";

export interface WebsocketMessage {
    data: string
}

@Injectable()
export class WebsocketEffects {

constructor(private updates$:StateUpdates<AppState>,
            private ngrxWebSocketService: NGRXWebSocketService) {
}

@Effect() _recieve$ = this.ngrxWebSocketService.getSubject()
    .map((websocketUpdate: WebsocketMessage) => {
        let message = …
Run Code Online (Sandbox Code Playgroud)

rxjs ngrx angular

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

Lua嵌入在C++中是否能够拥有持久的局部变量?如果没有,是否有脚本语言呢?

我使用LuaBind在我的C++应用程序中嵌入了Lua.我需要有多个运行的变量,这些变量不能被运行相同文件名的其他对象访问.

例如:假设我有一个叫做的课程NPC.一个NPC拥有一个字符串,也就是它们运行的脚本的名称.NPC创建a 时,会创建一个名为的变量Health.当NPC被击中时,他们会失去5点健康.这些脚本在Lua中会是这样的:

local health = 10

function onHit()
    health = health - 5
end
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是每个NPC运行此脚本的人都没有自己的健康实例.例如,假设我创建NPC A,并从其健康状况中减去5.然后,我创造NPC B.因为它将健康重置为10,如果我告诉NPC A打印健康,它会让我回到10,即使它应该是5.

如果我为每个对象都有一个不同的Lua实例,那么它会以这种方式工作,但在这种情况下我一次最终会有数百个实例,我理解这不是一件好事.

在Lua中有没有办法让变量像这样工作?如果没有,是否有一种脚本语言能够以有效的方式运行?

作为参考,这是我正在测试的代码:

LUA:

local health = 10;

function onHit()
    health = health - 5
    print_out(health)
end
Run Code Online (Sandbox Code Playgroud)

C++:

class NPC
{
public:
   NPC(lua_State* inState);
   void onHit();

   const char* behavior;
   lua_State* luaState;  
};

NPC::NPC(lua_State* inState)
{
   luaState = inState;
   behavior = "testBehavior.lua";
   luaL_dofile(luaState, behavior); …
Run Code Online (Sandbox Code Playgroud)

python scripting lua v8 luabind

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

C++:在命名空间中的多个文件中使用typedef.

我正在跨多个文件定义命名空间.在一个文件中,在命名空间内我声明了一个名为MyType的类型.在另一个文件中,仍然在命名空间内,我不应该看到该类型,而不必包含头文件?以下是一个例子:

FILE A
namespace EE
{
    typedef int MyType;
}


FILE B
namespace EE
{
    MyType a = 10;
}
Run Code Online (Sandbox Code Playgroud)

同样,根据我的理解,命名空间有助于清理包含.如果我定义了一个30个文件将使用的类型,如果我使用命名空间,我不应该在所有这些文件中包含标题,或者我认为.

c++ namespaces header-files

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

标签 统计

angular ×1

c++ ×1

header-files ×1

lua ×1

luabind ×1

namespaces ×1

ngrx ×1

python ×1

rxjs ×1

scripting ×1

v8 ×1