Scala新手警报:
基本上我正在尝试做这样的事情:我模式匹配并返回一个字符串.
scala> def processList(list: List[String], m: String): String={list foreach (x=> m match{
| case "test" => "we got test"
| case "test1"=> "we got test1"})}
Run Code Online (Sandbox Code Playgroud)
:10:错误:类型不匹配; found:需要的单位:String def processList(list:List [String],m:String):String = {list foreach(x => m match {
我知道我可以设置一个var并在for comp之后返回它...但这似乎不是Scala方式.
我正在尝试使用两个简单的 C# 表单解决方案在我的 Win-XP 工作站上实现双向命名管道通信。一种用于客户端,一种用于服务器。它们看起来几乎相同并且使用 NamedPipeServerStream 和 NamedPipeClientStream (.NET 3.5)。客户端和服务器都通过PipeDirection.InOut设置为双向通信
启动事件的顺序是: 1) 启动服务器。它等待来自客户端的连接。2) 启动客户端,它立即找到并连接到服务器。同样,服务器完成与客户端的连接。3) 客户端和服务器都启动他们的“读取”线程,然后创建流读取器的实例。然后这些线程调用 ReadLn() 并阻塞 - 等待数据。在所有情况下,自动刷新都是正确的。
然后我使用 streamwriter.WriteLn() 将字符串数据从服务器发送到客户端(反之亦然)。但是,执行永远不会从该调用返回。我不知道为什么,任何见解都会受到极大的欢迎。
我花了大量时间研究关于这个主题的所有内容,但我仍然遗漏了一些东西。
客户端和服务器代码片段如下所示:
服务器:
private void ListenForClients()
{
// Only one server as this will be a 1-1 connection
m_pipeServerStream = new NamedPipeServerStream(PipeName, PipeDirection.InOut, 1);
// Wait for a client to connect
m_pipeServerStream.WaitForConnection();
// Ccould not create handle - server probably not running
if (!m_pipeServerStream.IsConnected)
return;
// Create a stream writer which flushes after every write
m_pipeServerWriter …Run Code Online (Sandbox Code Playgroud) 我阅读了许多其他主题,Android模拟器启动的速度非常慢.实际上,开始需要+15分钟.但是,即使在那之后,我的机器也很慢.
"手机"响应延迟3-4秒,一切都有很大的延迟.
是否有任何方法可以改善我的笔记本电脑(华硕1201N)的性能对于Android模拟器来说太生疏了?
PS:尝试不同的模拟器分辨率,结果是一样的
编辑:我的笔记本电脑有2个内核和HyperThreading.它在设备管理器中显示为4个CPU.但是,使用模拟器时,其中一个图形为100%.我可以做些什么让它工作多核吗?
我在.NET 3.5 SP1中尝试了EF,我是众多感到沮丧的人之一,并决定学习LINQ to SQL.现在我知道EF是"选择"的前进路径,加上EF 4.0有一些令人兴奋的新功能,我想将我的应用程序迁移到EF 4.0.
任何人都可以建议任何专门针对4.0 和 L2S迁移的良好资源吗?注意:我可以在.NET 3.5上找到大量与从L2S迁移到EF相关的博客和文章,但我觉得其中很多很明显过时并且对使用4.0的人没有帮助.
我真的很喜欢我能得到的那么深的,引擎盖下的东西; 我想真的离开,感觉我知道 EF 4.0我目前知道L2S 3.5的方式.
TIA!
比较和交换函数可以用于原子交换变量吗?我在x86_64 RedHat Linux上通过gcc使用C/C++,特别是__sync builtins.例:
int x = 0, y = 1;
y = __sync_val_compare_and_swap(&x, x, y);
Run Code Online (Sandbox Code Playgroud)
我认为这归结为x是否可以在&x和x之间变化; 例如,如果&x构成一个操作,则x可能会在参数中的&x和x之间进行更改.我想假设上面隐含的比较总是正确的; 我的问题是我是否可以.显然有CAS的bool版本,但是我不能让旧的x写入y.
一个更有用的例子可能是从链表的头部插入或删除(gcc声称支持指针类型,所以假设是elem和head是):
elem->next = __sync_val_compare_and_swap(&head, head, elem); //always inserts?
elem = __sync_val_compare_and_swap(&head, head, elem->next); //always removes?
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Swing小部件在面板中放置两个按钮.在NetBeans IDE中,我的JSeparator border属性设置(No border)在属性窗格中.
然而,出现了一条线.这不是我对分隔符对象的期望.难道我做错了什么?来自Delphi和C#WinForms的背景,我希望在Swing中找到一些奇怪的东西.但是,如何在面板中的两个按钮之间创建特定尺寸的透明间隙?我是否必须使用布局并避免使用JSeparator?
更新:使用布局并且没有任何分隔符对象来执行此操作应该是微不足道的.那你怎么做的?我正在研究NetBeans布局定制器和属性检查器,但没有办法做到这一点.(答案:带有插图的布局,而不是分隔符.)
我有一个关于MIMEParsingException的问题.我将Java EE 6与NetBeans 6.8一起使用.我用Java编写了一个简单的REST Web服务来打印"hello world",它运行良好.然后我编写一个REST Web服务客户端(Java Main Class)来测试REST:
公共类HelloWorldClient {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
String xml = service.path("resources").path("helloworld").accept(MediaType.TEXT_XML).get(String.class);
System.out.println(xml);
}
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8080/HelloWorldApplication").build();
}
Run Code Online (Sandbox Code Playgroud)
}
它符合顺序没有错误,但是当我运行它时,它会在此行抛出MIMEParsingException:Client client = Client.create(config);
线程"main"中的异常com.sun.jersey.spi.service.ServiceConfigurationError:jersey-client-components:类com.sun.jersey.multipart.impl.MultiPartReader的依赖类org/jvnet/mimepull/MIMEParsingException找不到实现提供程序类java.lang.Object.提供程序实现被忽略.在com.sun.jersey.spi.service.ServiceFinder.fail(ServiceFinder.java:388)的com.sun.jersey.spcess.service.ServiceFinder.access $ 200(ServiceFinder.java:144)com.sun.jersey. spi.service.ServiceFinder $ LazyClassIterator.next(ServiceFinder.java:595)位于com.sun.jersey.spi.service的com.sun.jersey.spi.service.ServiceFinder $ LazyClassIterator.next(ServiceFinder.java:571). Com.sun.jersey.api.client.Client上的ServiceFinder.toClassArray(ServiceFinder.java:374).(Client.java:
谁能解决这个问题?非常感谢.
我在这里阅读 http://groovy.codehaus.org/modules/http-builder/doc/handlers.html "如果响应发送重定向状态代码,这由Apache HttpClient内部处理,默认情况下只是通过将请求重新发送到新网址来关注重定向.您无需执行任何特殊操作即可遵循302响应."
当我只使用没有闭包的get()或post()方法时,这似乎工作正常.
但是,当我使用一个闭包时,我似乎失去了302处理.我有办法自己处理吗?谢谢
ps这是我的日志输出,显示它是302响应
[java] FINER: resp.statusLine: "HTTP/1.1 302 Found"
Run Code Online (Sandbox Code Playgroud)
这是相关代码:
// Copyright (C) 2010 Misha Koshelev. All Rights Reserved.
package com.mksoft.fbbday.main
import groovyx.net.http.ContentType
import java.util.logging.Level
import java.util.logging.Logger
class HTTPBuilder {
def dataDirectory
HTTPBuilder(dataDirectory) {
this.dataDirectory=dataDirectory
}
// Main logic
def logger=Logger.getLogger(this.class.name)
def closure={resp,reader->
logger.finer("resp.statusLine: \"${resp.statusLine}\"")
if (logger.isLoggable(Level.FINEST)) {
def respHeadersString='Headers:';
resp.headers.each() { header->respHeadersString+="\n\t${header.name}=\"${header.value}\"" }
logger.finest(respHeadersString)
}
def text=reader.text
def lastHtml=new File("${dataDirectory}${File.separator}last.html")
if (lastHtml.exists()) {
lastHtml.delete()
}
lastHtml<<text
new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parseText(text)
}
def processArgs(args) {
if (logger.isLoggable(Level.FINER)) …Run Code Online (Sandbox Code Playgroud) 这是我的代码.为什么它不起作用?
<Script>
$('#colorselector').change(function() {
$('.colors').hide();
$('#' + $(this).val()).show();
});
</Script>
<Select id="colorselector">
<option value="red">Red</option>
<option value="yellow">Yellow</option>
<option value="blue">Blue</option>
</Select>
<div id="red" class="colors" style="display:none"> .... </div>
<div id="yellow" class="colors" style="display:none"> ... </div>
<div id="blue" class="colors" style="display:none"> ... </div>
Run Code Online (Sandbox Code Playgroud) 我有一个Rails 2.3.5项目,它使用Rails的本地化功能.我也碰巧安装了Rails 3 beta(这取决于i18n gem).Rails 2.3.5很乐意自己处理本地化(没有安装i18n),但是如果i18n gem可用,它就会使用它.
最近我升级了我的宝石,现在安装了0.3.7和0.4.0的i18n.当然,Rails想要加载和使用导致我的项目出错的最新版本.我尝试将gem版本设置为0.3.7,这可以解决Web应用程序中的错误.但是,我们使用resque和resque_mailer来延迟发送消息.当工作人员从队列中获取邮件程序作业时,它会忽略environment.rb中的config.gem要求并使用版本0.4.0.
理想情况下,我想告诉Rails根本不使用i18n gem.我怎么做?
更新:从beta 4开始,Rails 3现在需要i18n版本0.4.1.我不知道有多少人没有遇到这个问题,因为现在看来如果安装了Rails 2和Rails 3,你就会遇到这个问题.