我已经开始使用Haxe将我的ActionScript 3项目转换为NME,但是,我想知道Neko在Linux世界中是什么?我搜索了它,我发现它是一只动画猫!
有人可以向我解释一下吗?
我想将像NekoVM这样的虚拟机用于小型设备,但是为了构建它,它需要Boehm GC,但是那个小型设备没有那个GC的端口,所以我想知道是否有任何替代它,某些东西那可以用C代码完成吗?
大家好我正在尝试使用Java中的Neko/Xerces解析DOM树.
NodeList divs = this.doc.getElementsByTagName("DIV");
for(int i=0; i < divs.getLength(); i++) {
NodeList images = divs.item(i).parentNode().getElementsByTagName("IMG");
// operate on these
}
Run Code Online (Sandbox Code Playgroud)
是我理想的喜欢做的事情.看来我只能调用getElementsByTagName
文件本身?难道我做错了什么?我应该能够在一个Node
元素上调用它吗?
我可以从文档中看到它不存在:http://xerces.apache.org/xerces-j/apiDocs/org/w3c/dom/Node.html所以也许我需要以另一种方式做到这一点?
谢谢!
我正在使用NME创建一个小游戏.我喜欢在Neko和C++目标的标题栏中显示目标.那可能吗?
谢谢.
我一直在玩Neko Modules,但我认为我的行为有些不一致.
var funcs = 0;
var objs = 0;
for (i in 0...m.globalsCount())
{
var obj:Dynamic = m.getGlobal(i);
if (Reflect.compareMethods(obj, init))
trace("matched");
if (Reflect.isFunction(obj))
funcs++;
else if (Reflect.isObject(obj))
objs++;
}
trace('Functions: $funcs');
trace('Objects: $objs');
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,当我第一次运行它时,我总共获得了4487个函数.如果我删除一个函数,重建并运行,我得到预期的4486.
我添加了compareMethods
比较以比较obj
with init
,其中init
是我在Main文件中声明的函数,但是从不输出跟踪.
我瞥了一眼compareMethods
函数的代码提示,我偶然发现了以下术语:if 'f1' and the 'f2' are **physically** equal
.
现在,它们都是功能,并且在Haxe手册中没有提到有关物理功能的任何内容.所以我有两个问题,真的.
什么是物理功能,如何实现上述的跟踪结果?先感谢您.
我有一个在NekoVM下运行的服务器,它提供RESTLike服务.我正在尝试使用以下Haxe代码向此服务器发送PUT/DELETE请求:
static public function main()
{
var req : Http = new Http("http://localhost:2000/add/2/3");
var bytesOutput = new haxe.io.BytesOutput();
req.onData = function (data)
{
trace(data);
trace("onData");
}
req.onError = function (err)
{
trace(err);
trace("onError");
}
req.onStatus = function(status)
{
trace(status);
trace("onStatus");
trace (bytesOutput);
}
//req.request(true); // For GET and POST method
req.customRequest( true, bytesOutput , "PUT" );
}
Run Code Online (Sandbox Code Playgroud)
问题是只有onStatus
事件显示出来:
Main.hx:32: 200
Main.hx:33: onStatus
Main.hx:34: { b => { b => #abstract } }
Run Code Online (Sandbox Code Playgroud)
谁能解释一下我做错了customRequest
什么?
最近,我发现(在Mac OS X Mavericks上)由于"分段错误",OpenFL和LIME(使用命令行工具)无法正常工作.
在我进入细节之前,这里有一些背景知识.
而现在,我打字的时候得到这个错误lime
或openfl
或使用他们的任何功能(例如建筑):
Called from lime/utils/ByteArray.hx line 109
Called from lime/system/System.hx line 286
Called from lime/system/System.hx line 405
Uncaught exception - Segmentation fault
Run Code Online (Sandbox Code Playgroud)
无论如何,我不知道背景是否与它有任何关系.我查看了Ubuntu论坛,但没有任何对我有用的东西.任何帮助,将不胜感激; 我在"类似问题"或其他任何地方都找不到太多相关内容.
Haxe编译器3.1.3 + OpenFL 3.0.0 beta.(根据haxelib upgrade
描述.)
我正在写Haxe并以Neko为目标.今天我遇到了这个问题:
var a:Array<Array<Int>> = new Array<Array<Int>>();
a[1] = [1, 2, 3];
Run Code Online (Sandbox Code Playgroud)
第二行抛出"无效的数组访问"异常.也不可能像这样迭代行:
for (i in a[0]) ...
Run Code Online (Sandbox Code Playgroud)
像这样的代码总是运行正常,但不是今天的代码.这可能是什么问题?我试图访问的单元格和行保证存在(如果谈论索引).
尝试在我的测试Haxelib上使用haxelib run
命令时出现异常:
haxelib run haxelib-test
Run Code Online (Sandbox Code Playgroud)
D:\ HaxeToolkit\haxe\std/neko/vm/Thread.hx:54:字符20-71:无法在宏内创建线程
没有线程,一切正常.
Haxe代码:
import neko.vm.Thread;
class Main {
static function main() {
trace("starting");
var commandsThread = Thread.create(read);
trace("ending");
}
static function read() {
trace("new thread");
}
}
Run Code Online (Sandbox Code Playgroud)
我haxelib.json
看起来像这样:
{
"name": "haxelib-test",
"license": "MIT",
"tags": [],
"description": "",
"version": "0.0.1",
"classPath": "src/",
"main": "Main"
}
Run Code Online (Sandbox Code Playgroud) 我有这样一个概念,使用一些php/mysql托管服务构建一个简单的Web应用程序.我还想创建该应用程序的本地版本.本地版本应该与在线版本(使用浏览器作为ui的id)类似,并且能够与服务器通信.我希望它尽可能轻量级.
从专业角度来说,我是#/ .net程序员.我也有一些c/c ++,javascript,python和java的经验.我对php知之甚少,老实说,我不喜欢用那种语言编写代码的感觉,因此,我不太愿意深入研究它..Net,python或java他们都太笨重了,我不能强迫用户安装任何一个.所以我想到了haxe的多目标.如果我在haxe中编写项目代码(对于一些有我背景的人来说,似乎很容易学习),我可能会在服务器和客户端的两侧使用相同的逻辑,同时针对php和neko.
作为新手,我有些疑惑.我不确定是否haxe for php对于这种工作来说已经足够成熟了.我知道haxe是ActionScript的堂兄,它主要针对AS,因为作者也是nekoVM的发明者,因此,这两个目标应该没问题.但是,呃,php怎么样?它也真的很好吗?任何提示或建议?haxe的内置库是否可以用于简单的Web应用程序,还是应该使用框架?neko是否具有httpRequest功能?
非常感谢.
haxe代码非常简单:
Main.hx
package nekotest;
class Main {
public static function main() {
var name = neko.System.args()[0];
trace("Hello " + name);
trace("Your name is " + Std.string(name.length) + " characters longs.");
}
}
Run Code Online (Sandbox Code Playgroud)
在控制台中:
E:\WORKSPACE\HaxeTest\src>haxe -main nekotest.Main -neko test.n
nekotest/Main.hx:6: characters 19-35 : Unknown identifier : neko
Run Code Online (Sandbox Code Playgroud)
haxe和neko都已安装:
E:\WORKSPACE\HaxeTest\src>haxe
Haxe Compiler 2.10 - (c)2005-2012 Motion-Twin
Usage : haxe.exe -main <class> [-swf|-js|-neko|-php|-cpp|-cs|-java|-as3] <output> [options]
Options :
-cp <path> : add a directory to find source files
-js <file> : compile code to …
Run Code Online (Sandbox Code Playgroud) class Main extends Sprite
{
public function new()
{
super();
try
{
var xml:Xml = Xml.parse("<count>6</count>");
trace(xml.nodeType);
for (x in xml.elementsNamed("count"))
{
trace(x.nodeName);
trace(x.nodeType);
trace(x.nodeValue);
}
}
catch (err:Dynamic)
{
trace(err);
Sys.exit(1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
Main.hx:23:6
Main.hx:27:tount
Main.hx:28:0
Main.hx:34:节点类型错误,意外0
我不能完全理解nodeValue
财产的运作原则.因此,我无法解决我的问题.这里有什么帮助?
PS我的配置是:Haxe + OpenFL瞄准Neko.