我想知道是否有一个地图的实现是:
简而言之,是否存在可以与Hash Maps进行性能比较的功能数据结构?
出于好奇,我最近开始学习标准ML.所以我所知道的是有一个高效的编译器(MLton),它允许我们自由地使用抽象而不用担心性能.
如果我可以使用Standard ML进行一些GUI编程,那将是完美的.是否有像Gtk,Qt或WxWidgets绑定标准ML的东西?
非常感谢你.
我正在使用Netbeans编写Scala和Java.
Netbeans为Scala项目生成了一个.jar文件.我尝试在Java项目中导入该文件.但我无法将该.jar文件中的任何类导入到我的Java项目中.
我也尝试将scala-library.jar导入java项目,并可以从该jar导入类.
我想在Scala中编写我的库,然后公开一个只涉及Java东西的小接口,然后编写一个Java包装器,以便人们可以将它用作Java包.那可能吗?我该怎么做?
非常感谢你.
我正在看这个项目http://community.haskell.org/~ndm/supero/
我已经下载并编译了该程序,并可以在包含的示例中使用它.但我在源代码上尝试了它,看起来程序只能理解Haskell的一个子集.
我有这样的事情:
supercompiler:未处理fromDecl:PatBind(SrcLoc {srcFilename ="unknown.hs",srcLine = 15,srcColumn = 1})(PTuple [PVar(Ident"width"),PVar(Ident"height")])Nothing(UnGuardedRhs(元组[Lit(Int 7),Lit(Int 6)]))(BDecls [])
代码可在此处获得https://github.com/phuc/Score4-haskell/blob/master/Main.hs
如何让GHC输出Supero理解的那种Haskell?
非常感谢你.
我在Intellij 14中创建了一个新的Android项目,然后向它添加了Scala SDK 2.11.6(范围provided是唯一对我有用的选项).如果我不使用任何Scala类,该项目运行正常.但是,一旦我使用字符串插值,一旦代码运行,应用程序就会崩溃并出现此错误:
06-20 18:36:27.277 1995-1995/com.pcn.android.games.jacks D/AndroidRuntime? Shutting down VM
06-20 18:36:27.289 1995-1995/com.pcn.android.games.jacks E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.pcn.android.games.jacks, PID: 1995
java.lang.NoClassDefFoundError: Failed resolution of: Lscala/StringContext;
at com.pcn.android.games.jacks.MyActivity.onCreate(MyActivity.scala:16)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.ClassNotFoundException: Didn't find class "scala.StringContext" on path: DexPathList[[zip file "/data/app/com.pcn.android.games.jacks-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at com.pcn.android.games.jacks.MyActivity.onCreate(MyActivity.scala:16)
at …Run Code Online (Sandbox Code Playgroud) (对不起,我的第一篇文章中没那么清楚)
情况就是这样:我有从互联网刷新的数据.我们称之为Model.
我想做的事情:基本上它听起来像MVC模型,Model在本地(私有)存储中也保持持久性.该Model方法及其相关方法是应用方面的.有几个Activity显示和操纵它的不同方面:
Activity可以Model
从不同的角度浏览不同的视图.目前我有一个ListActivityfor all元素,Activity一个元素的详细信息Model需要提神.当然这是在不同的线程上完成的.可以从几个Activity人的触发器中触发刷新.Activity的任务中触发Model
在启动和停止时加载并保存到私有存储我的问题:我不知道放在哪里Model和相关的任务.另外,我不知道用什么机制来通知Activity.目前我想出了两种方法:
Service和发送广播.保存到磁盘是执行的Service#onDestroyed(),所以我想通过绑定它来最小化它Activity.在这一点上,我也不能确定如何为客户提供更新的信息:是否提供吸气中Binder,或包括在广播消息.Application对象,以便全局提供刷新方法和getter.然后我从Activity使用中执行更新AsyncTask.如果有其他Activity的是当前的背后Activity,他们会更新onResume(),当用户导航回.我没有使用静态方法的类的原因:
Model到磁盘.此外,我没有把这些功能放在一个,Activity因为有几个活动操纵同一块持久数据.
下面是伪代码说明我的意思:
使用服务:
/** Service maintaining …Run Code Online (Sandbox Code Playgroud) 我一直在Android Market上开发免费游戏(带广告).现在有不少人要我做一个没有广告的付费版本.我没有保留单个应用程序的多个版本的经验.
我已经在Eclipse上考虑了应用程序:库项目和(免费)应用程序项目.现在我要为付费版本添加一个新项目.
我的主要问题与从免费版本导入旧设置和数据的最有效和最可靠的方法有关,如果它已经安装在用户的手机上.
ContentProvider.根据包名称,是否有一种简单的方法可以从我的另一个应用程序查询数据和设置?
非常感谢你.
我描述了我的程序,结果发现大部分的CPU都花在了上面SoundPool.play().
游戏有大约10个声音文件,每个文件不到1秒.目前它们是64kbs可变MP3.它们SoundPool在开始时加载到a 并在整个游戏中频繁播放.
我的问题:什么音频格式(例如mp3,ogg等)对移动设备上的CPU和电池消耗最友好?我只将它们用于音效,而且不需要同时播放.
非常感谢.
performance android mobile-phones power-management audio-player
Scala宏将良好类型的术语作为参数而不是任意AST,因此使用它们做某些事情并不明显,特别是引入新的绑定表单.
假设我想要一个新的Scala命令用于循环,它可以去尾递归或者循环.例如,这个:
for_imp (i <- 1 to 10) {
/* work */
}
Run Code Online (Sandbox Code Playgroud)
会厌倦这个:
{
var i = 1
while (i <= 10) {
/* work */;
i += 1
}
}
Run Code Online (Sandbox Code Playgroud)
或这个:
@tailrec def loop(i: Int): Unit =
if (i <= 10) {
/* work */;
loop(i + 1)
}
loop(1)
Run Code Online (Sandbox Code Playgroud)
由于我们不能引入新的绑定i,这种方法是否有意义:创建一个for-opt映射expr[Unit]到的新表单expr[Unit]; 如果它的论点碰巧有正确的形式for,优化它,否则不管它:
for_opt(e: expr[Unit]): expr[Unit] =
e match {
case /* for loop */ => /* transform */ …Run Code Online (Sandbox Code Playgroud) 我尝试使用归纳数据类型的语法,但它得到一条错误消息"互感类型必须编译为具有依赖消除的基本归纳类型".
下面是我尝试定义命题even和odd自然数的一个例子
mutual inductive even, odd
with even: ? ? Prop
| z: even 0
| n: ? n, odd n ? even (n + 1)
with odd: ? ? Prop
| z: odd 1
| n: ? n, even n ? odd (n + 1)
Run Code Online (Sandbox Code Playgroud)
还有一个相关的问题:定义相互递归函数的语法是什么?我似乎无法在任何地方找到它.
android ×4
scala ×3
performance ×2
audio-player ×1
binding ×1
dex ×1
ghc ×1
google-play ×1
haskell ×1
immutability ×1
intellij-14 ×1
interop ×1
java ×1
lean ×1
macros ×1
map ×1
ml ×1
optimization ×1
scala-macros ×1
service ×1
sharing ×1
sml ×1
user-data ×1