我将使用netwire和OpenGL在Haskell中编写实时游戏.基本的想法是每个对象将由一个导线表示,它将获得一些数据作为输入并输出其状态,然后我将它全部挂钩到一个大的线路,将GUI的状态作为输入并输出世界状态,然后我可以将其传递给渲染器以及碰撞检测等一些"全局"逻辑.
我不确定的一件事是:我如何键入电线?并非所有实体都有相同的输入; 玩家是唯一可以访问键输入状态的实体,寻找需要目标位置的导弹等.
我该怎么办?
可能重复:
Template Haskell声明中的局部变量
我正在尝试构造一个简单的模板Haskell函数,给定一个像"Foo"这样的字符串,将构造语法树data Foo = Foo.
现在,我正在尝试做类似的事情mkDecl name = [d|data $(conT name) = Foo|],但是这给了我错误:"格式错误的类型或类声明:$(conT name)".知道发生了什么事吗?
我可以用dataD等写出来,但我更喜欢这种方式,因为它会更清楚地发生了什么.
在linux结构下,我注意到以下工作:
import sys
sys.path.append("/home/username/fullpathname/")
import my_module
Run Code Online (Sandbox Code Playgroud)
但以下情况并非如此
import sys
sys.path.append("~/fullpathname")
import my_module
Run Code Online (Sandbox Code Playgroud)
有没有办法使用"〜"运算符?我不明白为什么python想要完整的目录.谢谢!