默认情况下,如果你使用fugitive.vim的:Gdiff上是与git的冲突文件缓冲区,你会得到一个三路DIFF显示HEAD,工作复印件(冲突标志),和merge.
我喜欢git config merge.conflictstyle diff3设置,包括基础(最近的共同祖先HEAD和merge冲突标记.
不幸的是,即使diff3在conflictstylein fugitive.vim中,你仍然只能获得3个窗格(没有基础).
有谁知道如何在另一个窗格中显示它?理想情况下是关于工作副本.
Tim Pope的评论似乎提供了一些线索,但我无法弄明白.
>>> [l for l in range(2,100) if litheor(l)!=l in sieve(100)]
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
>>> 2 in sieve(100)
True
>>> litheor(2)
True
Run Code Online (Sandbox Code Playgroud)
所以litheor(2)是True和2 in sieve(100)是True,所以if列表理解中的条款是False.但为什么2仍然在列表理解的输出?
我认为这是F#的一个众所周知的限制,但我找不到任何好的解决方法......
所以,这是代码(我试图让它尽可能简单,所以看起来它似乎没有任何意义):
[<ReflectedDefinition>]
type Human (makeAName: unit -> string) as self =
let mutable cats : Cat array = [| |]
do
// get a cat
cats <- Array.append cats [| new Cat (self, makeAName ()) |]
member this.Cats = cats
and
[<ReflectedDefinition>]
Cat (owner : Human, name : string) = class end
Run Code Online (Sandbox Code Playgroud)
编译器说:
错误FS0452:引号不能包含内联汇编代码或数组上的模式匹配
实际上它是as self和数组属性getter 的组合打破了一切.
这里的要点是:
member this.Foo)工作正常.我能想到的一个解决方法是将构造函数设为私有,并使用静态方法构造对象.这样我就不需要了as self.但这很愚蠢.
还有更好的选择吗?
更新:
这是一个更简单的例子:
[<ReflectedDefinition>]
type User (uid: int) …Run Code Online (Sandbox Code Playgroud) 简要地说:存在类似的问题,最佳答案建议使用numpy.bincount。我需要同样的东西,但需要一个矩阵。
我有两个数组:
array([1, 2, 1, 1, 2])
array([2, 1, 1, 1, 1])
Run Code Online (Sandbox Code Playgroud)
它们共同构成应增加的索引:
>>> np.array([a, b]).T
array([[1, 2],
[2, 1],
[1, 1],
[1, 1],
[2, 1]])
Run Code Online (Sandbox Code Playgroud)
我想得到这个矩阵:
array([[0, 0, 0],
[0, 2, 1], # (1,1) twice, (1,2) once
[0, 2, 0]]) # (2,1) twice
Run Code Online (Sandbox Code Playgroud)
矩阵将很小(例如5×5),索引的数量将很大(大约10 ^ 3或10 ^ 5)。
那么,有什么比for-loop 更好(更快)的东西吗?
我刚开始做一些Yesod + Haskell的东西.jsonToRepJson被破坏了吗?
我在下面制作了这段代码但是我总是在jsonToRepJson部分出错.它似乎没有得到预期的类型?
任何帮助都会很棒!谢谢:3
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
import Yesod
import Data.Text
data APP = APP
instance Yesod APP
mkYesod "APP" [parseRoutes|
/ TestR GET
|]
getTestR :: Handler RepJson
getTestR = jsonToRepJson $ object ["test".= ("test"::Text)]
main::IO()
main = warpDebug 3001 APP
Run Code Online (Sandbox Code Playgroud)
这是我使用runhaskell时得到的
api.hs:18:12:
Couldn't match expected type `RepJson' with actual type `Value'
Expected type: Handler RepJson
Actual type: HandlerT APP IO …Run Code Online (Sandbox Code Playgroud) 我是Rust的新手,我发现很难理解整个所有权/借用概念....甚至在阅读了所有官方指南之后.
为什么以下代码编译没有任何问题?
use std::io;
fn main() {
let mut input = io::stdin();
let mut lock = input.lock();
let mut lines_iter = lock.lines();
for line in lines_iter {
let ok = line.ok();
let unwrap = ok.unwrap();
let slice = unwrap.as_slice();
println!("{}", slice);
}
}
Run Code Online (Sandbox Code Playgroud)
......但这不是吗?
use std::io;
fn main() {
let mut lines_iter = io::stdin().lock().lines();
for line in lines_iter {
let slice = line.ok().unwrap().as_slice();
println!("{}", slice);
}
}
Run Code Online (Sandbox Code Playgroud)
从我天真的角度来看,两个代码示例完全相同.唯一的区别是第一个使用一些中间变量,而第二个是链接函数调用.
在编译第二个时,它会对我大吼大叫
- error: borrowed value does not live long enough
- note: …Run Code Online (Sandbox Code Playgroud) 我制作了一个 Hedgehog 生成器,可以通过以下方式生成任意 256 位值:
genWord256 :: Gen Word256
genWord256 = do
bytes <- Gen.integral (Range.linear 0 31)
let lo = 2 ^ (8 * bytes)
hi = 2 ^ (8 * (bytes + 1))
pred <$> Gen.integral (Range.constant lo hi)
Run Code Online (Sandbox Code Playgroud)
让 size 参数决定数字中的字节数,我认为对我的应用程序很有意义。但是,评估此生成器如何缩小并应用于ceiling . logBase 2此,我的问题是:
为什么刺猬决定强调其初始结果的附近?我是否以某种方式误解了“不受大小参数影响的范围”的含义?( Range.constant) 我会认为这里的任何收缩都必须具有较少的位数。
?> Gen.print genWord256
=== Outcome ===
68126922926972638
=== Shrinks ===
112 -- 7 bits
4035711763 -- 32 bits
106639875637011 -- 47 bits
281474976710655 …Run Code Online (Sandbox Code Playgroud) 在HTTP中,我知道标准的200响应最后带有“ OK”。但是我似乎找不到其他代码(例如403)是否需要OK。
例如(来自维基百科):
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Etag: "3f80f-1b6-3e1cb03b"
Content-Type: text/html; charset=UTF-8
Content-Length: 131
Connection: close
<html>
<head>
<title>An Example Page</title>
</head>
<body>
Hello World, this is a very simple HTML document.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
因此,在403响应中它将以:
HTTP/1.1 403 OK
Run Code Online (Sandbox Code Playgroud)
要么:
HTTP/1.1 403 FORBIDDEN
Run Code Online (Sandbox Code Playgroud)
要不就:
HTTP/1.1 403
Run Code Online (Sandbox Code Playgroud) 我有这个字符串:
s = "mage('Images/mpins/pin5_Jul1.png', new"
Run Code Online (Sandbox Code Playgroud)
这是我的模式:
patt_img = r'\w+.png'
Run Code Online (Sandbox Code Playgroud)
为什么
re.findall(patt_img,s)
Run Code Online (Sandbox Code Playgroud)
返回
['pin5_Jul1.png']
Run Code Online (Sandbox Code Playgroud)
但match返回None?
m = re.match(patt_img,s)
>>> type(m)
<type 'NoneType'>`
Run Code Online (Sandbox Code Playgroud) 在我正在开发的应用程序中,我展示了一个UIAlertView.使用NSTimer我删除调用该方法的警报removeFromSuperView.警报已删除,但随后任何控件都可以在当前视图上运行.有人可以帮我解决吗?这是我显示警报的代码:
UIAlertView *alert=[UIAlertView alloc]initWithTitle:@"A" message:@"B" delegate:self cancelButtonTitle:nil otherButtonTitles:nil, nil];
[alert show];
[alert release];
[NSTimer scheduledTimerWithTimeInterval:4.0 target:self selector:@selector(removeAlert:) userInfo:nil repeats:NO];
Run Code Online (Sandbox Code Playgroud)
而定时器调用的方法:
-(void)removeAlert:(id)sender
{
[alert_View removeFromSuperview];
}
Run Code Online (Sandbox Code Playgroud)