小编Kri*_*ski的帖子

结合java和nodejs为Android应用程序

我正在开发基于回合制的Android游戏,我选择了Nodejs作为服务器端.我已经探索了大约两周如何从Android客户端到Nodejs服务器进行通信.有没有办法在两者之间进行沟通.

如果任何人有这样一个项目的经验,请帮助我.

java android multiplayer node.js

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

元组中的OCaml意外类型不匹配

我正在尝试编写一个函数,它接受一个整数和一个三元组并返回给定位置的三元组元素(练习5.3来自Hickey的书).Triplet应该能够包含不同类型的元素.

我想,如果我写了3个小函数,每个函数返回三元组的特定元素并使我的大函数相应地返回其中一个,那么它就可以做到,但它不起作用.

我试图摆弄这种"eta-expansion"概念,但我没有得到它.

let nth1 (a, _, _) = a
let nth2 (_, b, _) = b
let nth3 (_, _, c) = c

let nth i = match i with
    | 1 -> nth1
    | 2 -> nth2
    | _ -> nth3

let main = printf "%d\n" (nth 1 ("hello", 2, 'c'))
Run Code Online (Sandbox Code Playgroud)

所以它应该只写"2".有什么建议?

ocaml types value-restriction

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

Dalvik Verifier中的参考与精确参考

我正在Dalvik字节码上编写工具,该代码对各种方法调用条目执行一些日志记录。具体来说,在各种方法调用站点,我将插入一组指令,这些指令收集参数,将其放入Object[]数组中,然后将其传递给日志记录函数。

这一切都很好,很好,我已经实现并克服了大多数应用程序的所有麻烦。但是我遇到了一个特别难以理解的Dalvik验证程序错误:

java.lang.VerifyError: Verifier rejected class io.a.a.g: void io.a.a.g.r() 
failed to verify: void io.a.a.g.r(): [0x570] register v5 has type Reference: 
java.lang.Object but expected Precise Reference: java.lang.String
Run Code Online (Sandbox Code Playgroud)

我查看了仪器生成的代码,我所做的只是将寄存器v5放入对象数组中。

我在这里有几个问题:

  • 什么是精确参考,为什么它与参考不兼容?
  • 这里的偏移量是什么意思?[0x570]指向字节码指令的中间,因此不会清楚地映射到任何指令:那里的指令不涉及v5
  • 我将如何调试呢?理想情况下,我想知道验证者认为应该发生的情况并加以解决。

编辑:

这是我正在谈论的方法的字节码的转储。https://gist.github.com/kmicinski/c8382f0521b19643bb24379d91c47d36正如你所看到的,0x570不是指令的开始,(据我可以告诉)没有任何地方有一个字符串,其中R5冲突它应该是一个对象。

android bytecode dalvik bytecode-manipulation smali

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

32 位 linux 和 64 位 linux 中的 SML 数据类型

我认为在标准 ML 中:

  • int 在 32 位 linux 上是 32 位

在 64 位 linux 上 int 也是 32 位?此外,对于标准 ML,是否有一个地方(url)列出了不同数据类型的大小?谢谢

sml

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

SML - 未捕获的异常为空

我正在尝试编写一个SML程序来检查矩阵是否是单数.矩阵已表示为列表列表.例[[1,2],[3,4],[15,50]]是有效的,但[[1,2],[1,2,3]]不是.

fun remove (l,r)= 
    let fun iter(front,l,i)= 
      if i=r then front@tl(l) 
      else
        iter(front@[hd(l)],tl(l),i+1)
    in 
    iter([],l,1) end;

fun removed (l,r)=
    let fun iter(l,m)=if tl(l)=[] 
      then m@[remove (hd(l),r)] 
      else iter(tl(l),m@[remove (hd(l),r)])
    in
    iter(tl(l),[]) end;

fun nth (l,i)=let fun iter(l,c)=if i=c then hd(l) else iter(tl(l),c+1) in iter(l,1) end;

fun deter (l)=let fun iter(det,i,j)=if i=(length l)+1 then det else iter (det+j*(nth (hd(l),i))*(deter (removed(l,i))),i+1,j*(~1))
                 in iter(0,1,1) end
Run Code Online (Sandbox Code Playgroud)

函数确定被定义,但是当我给它输入时,会发生未捕获异常空的错误.请帮我调试一下.

谢谢

sml

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

将String转换为bigram列表

我开始学习haskell,我需要你帮助一些可能很简单的东西,但我无法解决.

我有一个字符串:

ABCDEFG
Run Code Online (Sandbox Code Playgroud)

我需要将此字符串转换为以下格式:

A-B
B-C
C-D
D-E
E-F
F-G
Run Code Online (Sandbox Code Playgroud)

有人可以给我一些提示吗?谢谢.

haskell

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