read 在Prelude中被定义为
read :: (Read a) => String -> a
Run Code Online (Sandbox Code Playgroud)
并且可以用作例如read "1" :: Int.
现在是一个功能
readOne :: (Read a) => [String] -> (a, [String])
readOne (x:xs) = (read x,xs)
Run Code Online (Sandbox Code Playgroud)
与readOne ["1","foo"]错误中的结果(如预期)一起使用
Ambiguous type variable 'a' in the constraint:
'Read a' arising from a use of 'readOne' at :1:0-18
Probable fix: add a type signature that fixes these type variable(s)
但是readOne ["1","foo"] :: Int不起作用
readOneInt :: [String] -> (Int, [String])
readOneInt = readOne
Run Code Online (Sandbox Code Playgroud)
工作得很好:
> …Run Code Online (Sandbox Code Playgroud) 为了限制范围,假设我们仅在Windows世界中.
还假设我们不想使用权限策略.
我们可以创建一个无法复制的文件吗?
先感谢您.
我刚开始使用EF4和存储库模式.我必须在每次使用上下文之后调用dispose方法或在using块中包装代码.我可以在我编写的每个方法中使用ObjectContext而不执行此操作,或者在存储库中有更好的方法来处理它.
另外,我也不想将UIContext从UI传递到存储库.
为简单起见,我已经包含了一个脚本,它通过名称动态调用函数:
var foo = "hello";
var bar = "world";
var function_name = "say_" + foo + bar;
// Since its name is being dynamically generated, always ensure your function actually exists
if (typeof(window[function_name]) === "function")
{
window[function_name](" World!");
}
else
{
throw("Error. Function " + function_name + " does not exist.");
}
function say_helloworld(the_word)
{
alert("Hello " + the_word);
}
Run Code Online (Sandbox Code Playgroud)
但函数say_helloworld的代码是以静态方式编写的.我想要像:
var function_implementation = 'function say_'+foo+bar+
'(the_world){alert("Hello " + the_world);}';
eval(function_implementation);
Run Code Online (Sandbox Code Playgroud)
但不使用eval().有一种更加丑陋的方法:进行AJAX调用以获得该功能.
你能看到更好的方法吗?
什么是Java中并发编程中引用的监视器?
当我读到"每个对象都有一个监视器"这是什么意思?
这是一个特殊的对象吗?
我在哪里可以找到surefire生成的XML(TEST-.xml)文件的DTD或XML Schema?
我有一个数据库字段,其数据如下:
76,60,12
Run Code Online (Sandbox Code Playgroud)
如果我想删除,例如,60,我该怎么办?
要删除的号码可以是任何地方.如果需要,我还需要删除逗号.
我正在使用.NET 2.0.
所以我看到这个伟大的博客文章,用Node.js的进行实验.我决定尝试使用作者的要点自己设置它.它没用.
进一步调试显示websocket连接正常,但是一旦调用'send'就关闭.这是wireshark跟踪(原谅奇怪的间距):
GET /test HTTP/1.1
Host: 127.0.0.1:8000
Sec-WebSocket-Key2: 3 j 92 9 62" 7 0 8 8
Upgrade: WebSocket
Connection: Upgrade
Origin: http://127.0.0.1:3000
Sec-WebSocket-Key1: 96'5% S72.93?06
......(bHTTP/1.1 101 WebSocket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Origin: http://127.0.0.1:3000
Sec-WebSocket-Location: ws://127.0.0.1:8000/test
.4.R....mh.....{.{"action":"move","x":450,"y":22,"w":1146,"h":551}.
Run Code Online (Sandbox Code Playgroud)
我在Chrome和Firefox 4.0测试版中都尝试过这种方法.它们都表现出相同的行为.如果我去原始博客网站,它工作正常.
另一件事.如果我在FF或Chrome中进入JS控制台,我会执行以下操作:
ws = new WebSocket('ws://localhost:8000/test')
ws.send("foo")
Run Code Online (Sandbox Code Playgroud)
它立即断开连接并且不发送消息.服务器显示连接和握手,但从不接收消息.
我在这里发现了几个类似的问题,但要么在没有发布修复的情况下解决,要么在这种情况下似乎不适用.我可以发布gist中的代码,如果它更容易.
可能重复:
抽象VS信息隐藏VS封装
有人可以向我解释面向对象编程中封装和抽象原则之间的主要区别(如果可能的话,还有示例).
我正在寻找一些静态库或开源项目(在obj-c中,在一些许可许可下发布)来解析iPhone中的CSS.有什么建议?