小编Dav*_*ave的帖子

自我类型和特质子类有什么区别?

特质的自我类型A:

trait B
trait A { this: B => }
Run Code Online (Sandbox Code Playgroud)

" A不能混合成一个不会扩展的具体类B".

另一方面,以下内容:

trait B
trait A extends B
Run Code Online (Sandbox Code Playgroud)

"混合的任何(混凝土或抽象)类A也将在B中混合".

这两个陈述不是同一个意思吗?自我类型似乎只是为了创建一个简单的编译时错误的可能性.

我错过了什么?

scala traits self-type

377
推荐指数
8
解决办法
6万
查看次数

什么是Scala延续以及为什么要使用它们?

我刚刚完成了Scala编程,我一直在研究Scala 2.7和2.8之间的变化.似乎最重要的一个是continuation插件,但我不明白它对它有用或它是如何工作的.我已经看到它对异步I/O很有用,但我还是找不到原因.关于这个主题的一些更受欢迎的资源是:

关于Stack Overflow的这个问题:

不幸的是,这些引用中没有一个试图定义什么是continuation或者shift/reset函数应该做什么,而且我没有找到任何引用.我无法猜测链接文章中的任何示例是如何工作的(或者他们做了什么),因此帮助我的一种方法可能是逐行浏览其中一个示例.即使是第三篇文章中的简单文章:

reset {
    ...
    shift { k: (Int=>Int) =>  // The continuation k will be the '_ + 1' below.
        k(7)
    } + 1
}
// Result: 8
Run Code Online (Sandbox Code Playgroud)

为什么结果是8?这可能会帮助我开始.

continuations scala scala-2.8 delimited-continuations

84
推荐指数
5
解决办法
2万
查看次数

如何使用Spring Boot和Tomcat指定我的.keystore文件?

我正在尝试设置Spring Security以使用Spring Boot的嵌入式Tomcat实例.有相当多的基本样本可以做到这一点,但我被困在他们离开的地方 - 他们通过HTTP(而不是HTTPS)进行基本身份验证.

如果我可以访问Tomcat配置文件(server.xml),我可能会使它工作,但由于Spring Boot使用嵌入式Tomcat实例(这是一个非常方便),我无法访问Tomcat配置文件(至少,不是我的知识).

可能有一个application.properties设置,但我无法追踪它.我已经看到了对某个server.contextPath字段的引用application.properties,我怀疑它可能与替换Tomcat配置文件有关.即使它是相关的,我也不知道从哪里开始 - 我见过的所有Tomcat SSL指令都是从编辑现有server.xml文件开始的,而不是从头开始构建一个.

这可以通过Spring Boot完成(通过某种方式指定一个片段server.xml或通过其他方式)?如果没有,最简单的方法是什么?我知道我可能需要排除Spring Boot的Tomcat组件,但如果可能的话我宁愿避免这种情况.

spring tomcat spring-boot

43
推荐指数
3
解决办法
8万
查看次数

Make Syntastic只关闭错误窗口

我已经通过Janus安装了(Mac)Vim Syntastic插件.当我打开:Errors窗口查看语法错误的原因时,它会将带有错误的文件缩小到一行,并将其余的不动产用于"错误"窗口.

有没有办法让它生猪的错误更少的空间,更重要的是,我怎么关闭只是在错误的窗口?通常会:q关闭"错误"窗口和原始文件,即使光标位于"错误"窗口中也是如此.(这不是100%正确 - 如果文件尚未保存,感激不关闭文件).

vim syntastic

29
推荐指数
2
解决办法
1万
查看次数

在scala中通过字符串名称获取对象实例

我需要由字符串名称定义的对象(或"单例对象"或"伴随对象"......除了类之外的任何东西).换句话说,如果我有:

package myPackage
object myObject
Run Code Online (Sandbox Code Playgroud)

...那么有这样的事情:

GetSingletonObjectByName("myPackage.myObject") match {
  case instance: myPackage.myObject => "instance is what I wanted"
}
Run Code Online (Sandbox Code Playgroud)

reflection singleton scala

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

如何更改Scala XML Element的属性

我有一个XML文件,我想用脚本映射in的一些属性.例如:

<a>
  <b attr1 = "100" attr2 = "50"/>
</a>
Run Code Online (Sandbox Code Playgroud)

可能有两个缩放的属性:

<a>
  <b attr1 = "200" attr2 = "100"/>
</a>
Run Code Online (Sandbox Code Playgroud)

此页面提供了添加属性的建议,但没有详细说明使用函数映射当前属性的方法(这种方式会非常困难):http: //www.scalaclass.com/book/export/html/1

我想出的是手动创建XML(非scala)链表...类似于:

// a typical match case for running thru XML elements:
case  Elem(prefix, e, attributes, scope, children @ _*) => {
 var newAttribs = attributes
 for(attr <- newAttribs)  attr.key match {
  case "attr1" => newAttribs = attribs.append(new UnprefixedAttribute("attr1", (attr.value.head.text.toFloat * 2.0f).toString, attr.next))
  case "attr2" => newAttribs = attribs.append(new UnprefixedAttribute("attr2", (attr.value.head.text.toFloat * 2.0f).toString, attr.next))
  case …
Run Code Online (Sandbox Code Playgroud)

xml scala

21
推荐指数
3
解决办法
9617
查看次数

哪些非常大的功能语言项目是免费提供的?

首先,我几乎以"整个功能语言"的形式出售.在我看来,多年来,我一直在做Java中的函数式编程.但我对如何启动一个大型功能应用程序有点失落​​.我想看一个大型项目(OSS或其他)的源代码和构建结构,以便我可以看到在这样的环境中如何最好地处理模块化.

我的问题的上下文是我想要启动一个大型JVM项目,我正在考虑选择Java/Groovy混合或Scala/Groovy混合.我不想使用Scala/Groovy混音,除非我进入功能方向,因为我不喜欢Scala进行面向对象编程(一个完全不同的主题).这意味着避免像DI框架,AspectJ的等东西(我知道我可以模拟/完成/批准这些东西与函数式编程......但这里这是不相关的.)我担心,缺乏非常大的公开可见使用这些语言的项目是由于他们对大型项目真的很差的共同论点,这将是一个真正的耻辱......

所以我问,你遵循哪些大型fp项目(比如说20K +线路)?我很高兴听到任何用JVM语言运行的东西.特别是如果你觉得他们以一种好的方式处理模块化.

open-source functional-programming scala clojure

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

Android AudioRecord初始化每次都失败

我的问题很容易解释 - 我试图创建一个AudioRecord对象,但它无法初始化(即在构造函数之后,getState返回0,表示失败).我在运行OS 2.2.1的MotoDroid 1上从Eclipse运行它.我的AndroidManifest.xml是AFAIK,使用了正确的权限,RECORD_AUDIO(我不知道如何确认):

<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <activity android:name=".SphinxMic"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

我执行以下操作来创建AudioRecord:

bufferSize = AudioRecord.getMinBufferSize(8000, CHANNEL_IN_MONO, ENCODING_PCM_8BIT);
audioRecorder = new AudioRecord(AudioSource.MIC, 8000, CHANNEL_IN_MONO, ENCODING_PCM_8BIT, 50*bufferSize);
if (audioRecorder.getState() != AudioRecord.STATE_INITIALIZED)
  throw new Exception("AudioRecord init failed");
Run Code Online (Sandbox Code Playgroud)

audioRecorder.getState()返回0(即STATE_UNINITIALIZED)

我还没有找到任何使用这个API的完整示例,我非常喜欢Android初学者,所以解决方案可能很简单.我该怎么做才能找出失败的原因?

有些人提出了类似的问题,但他们肯定遇到了与我不同的问题,因为他们批准的修复措施对我没有帮助.最值得注意的是这个.但批准的解决方案令人困惑,无论如何都不适用于我.我还尝试了各种比特率(8000,16000,11025,44100),单声道和立体声以及8和16比特.成功初始化后没有组合回来.

android microphone audiorecord android-audiorecord

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

为什么这个iOS应用程序无法访问网络?

我的(Unity)应用程序抱怨我的iPod没有网络连接,而设备具有完整的Wi-Fi连接(所有其他应用程序,包括Safari)都证明了这一点.

这不仅仅是一个API点 - 所有这些(Facebook,StoreKit等)声称网络不可用.

此消息定期从我的应用程序发送到控制台:

<Error>: Could not successfully update network info during initialization.

这可能(我认为)来自CoreTelephony.

知道是什么导致了这个吗?我在调试和adhoc构建中得到它.我没有在设备上激活任何限制(来自设置).

该设备是iOS 6,基本sdk是iOS 5.

networking unity-game-engine ios

13
推荐指数
2
解决办法
1万
查看次数

您将如何构建数据库文件系统(DBFS)?

数据库文件系统是一个文件系统,它是一个数据库而不是一个层次结构.最初的想法不是太复杂,但我想我会问是否有人想过他们会怎么做这样的事情?一个简单的计划可能会错过的问题是什么?我对实现的第一个猜测是类似于Linux平台的文件系统(可能在现有的文件系统上),但我真的不知道如何启动它.这是一个过去的想法,我怀疑我是否会继续,但我希望至少满足我的好奇心.

database linux filesystems bsd operating-system

10
推荐指数
2
解决办法
1万
查看次数

如何为NDK静态库编写/调试Android.mk?

我正在尝试使用最新的Android NDK(r5)构建一个静态库,我没有运气.我已经能够构建和运行示例(例如,HelloJni)而没有任何问题,但从'scratch'开始一个新项目是一个不同的故事.

对于这个实验,我正在尝试构建libpng.我的文件夹结构如下所示:

root
|
+--- jni
      |
      +---- Android.mk ( one line: "include $(call all-subdir-makefiles)" )
      |
      +---- png
             |
             +---- Android.mk ( see below )
             |
             +---- { a bunch of .c and .h files )
Run Code Online (Sandbox Code Playgroud)

所以我有两个Android.mks.一个用于构建所有子项目,另一个用于libpng子项目.root/jni/png/Android.mk看起来像这样:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := png
MODULE_PATH := $LOCAL_PATH
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.c)
LOCAL_C_INCLUDES := $(wildcard $(LOCAL_PATH)/*.h)

LOCAL_INTERMEDIATE_TARGETS += junk
junk:
    echo $(LOCAL_SRC_FILES)

include $(BUILD_STATIC_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

这个构建设置似乎什么都不做(即,即使在ndk-build清理之后,从根文件夹运行ndk-build也不会做任何事情).详细运行(ndk-build V = 1)显示了一些rm -f调用(删除不存在的文件夹),但没有与项目或子项目相关的任何内容.

我对这个构建脚本失败的原因很感兴趣,但是这个过程应该是微不足道的,所以我确定它没有什么特别有趣的.我对如何开始自己攻击构建错误更感兴趣.上面脚本中的echo调用永远不会被命中 - 我不知道如何确定它是什么值或者为什么它会跳过子项目.有没有人找到一种方法来了解构建系统正在尝试做什么?

我也有兴趣知道这些工具是否有文档,或者它是否只是NDK文档文件夹中的少数几个文本文件?我一直试图通过复制随机的Android.mk来解决这个问题,我发现它是通过谷歌搜索发现的,但只有简单的NDK样本中使用的少数命令似乎被记录下来,所以这种体验实际上只是提出了新的问题.

android android-ndk

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

有多少百分比的Windows机器支持OpenGL

我一直在考虑开始一个新的图形项目,我想使用Java.Java拥有所有相关GL功能的包装,但我想知道有多少人,包括临时用户,实际上安装了不错的GL驱动程序.通过体面,我的意思是有点稳定和相当新(GL 1.5支持可能会做,尽管2.0附带的GLSL支持会很棒).我可以使用DirectX,即使使用Java,但我非常讨厌它,这个项目应该是"有趣的".此外,我喜欢GL的至少接近交叉平台.那么,任何人都知道有关Windows用户有多少百分比的驱动程序运行GL应用程序的任何非虚构统计数据?

windows opengl directx graphics drivers

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