小编123*_*234的帖子

在 Vim 中以 Ex 模式打开寄存器内的文件名

如果我在寄存器中有完整路径(例如@a="/dir/file.txt")并且我想以 Ex 模式打开文件。

我尝试:e @a这样做,但它不起作用。

我也尝试过,:e echo @a但它也不起作用。

显然我可以 :e CTRL-R a在 Ex 模式下打字,它可以工作。

但我想知道是否有一种方法可以在 Ex 模式下获取寄存器的内容而不使用 CTRL-R。

vim

4
推荐指数
1
解决办法
628
查看次数

在插入模式或普通模式下按一个键,使用<Esc>键保存文件

我尝试一键按下我的<Esc>键来保存文件.

在普通模式下,它到目前为止工作.

map <Esc> :w <CR>
Run Code Online (Sandbox Code Playgroud)

但我无法在插入模式下映射它,我尝试了以下命令,但它不起作用

map <Esc> <Esc>[ :w <CR> 
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我只想要One Key Press.

请给我一些建议,或者如果你知道任何保存文件的好钥匙,请在Vim中按一下

vim keyboard-shortcuts

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

在面试中编写两个函数来分配和释放C++中的int数组

我被要求编写两个函数来在C++中分配和释放int数组.

int* allocate(int size){
    return new int[size];
}

void deallocate(int *pt){
    delete pt;
    pt = NULL;
}
Run Code Online (Sandbox Code Playgroud)

我想出了上面的两个功能.

有谁知道有更好的方法来编写在C++中分配/解除分配 int数组的函数?

c++ pointers new-operator dynamic-allocation delete-operator

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

将 PNG 图像的背景从白色更改为透明

我有一个 PNG 图像文件,我正在使用 UIImageView 在视图中显示图像。我想将图像中的白色更改为透明。

注意:我的父视图颜色可以是不同的颜色。(不只是白色)

这是我的代码:

UIImageView* oriImageView = [[UIImageView alloc]initWithFrame:originalFrame];
UIImage* oriImage = [UIImage imageNamed:@"tap.png"];
oriImageView.layer.opacity = 0.5f;
oriImageView.backgroundColor = [UIColor clearColor];
oriImageView.opaque = NO;
oriImageView.tintColor = [UIColor clearColor];
oriImageView.image = oriImage;
[self.view addSubview:oriImageView];
Run Code Online (Sandbox Code Playgroud)

我尝试了以下不同的选项,但没有成功。

oriImageView.backgroundColor = [UIColor clearColor];
oriImageView.opaque = NO;
oriImageView.tintColor = [UIColor clearColor];
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我的iOS模拟器截图: 在此输入图像描述

uiimageview ios

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

需要帮助Vim Regular Expression

我尝试使用正则表达式来捕获以下模式:

我想要包含az中的字符,但排除e,fg 我知道Vim中的字符类

[^efg]
Run Code Online (Sandbox Code Playgroud)

不包括字符:e,fg

我试过了正则表达式

%s/[a-z[^efg]]//gc
Run Code Online (Sandbox Code Playgroud)

但它没有捕捉到我想要的东西

regex vim

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

重命名Haskell中的文件列表

我尝试重命名Haskell中的文件列表,并使用以下代码.

let listOfFullPath = ["/home/name/oldFile.txt"]
let outputList = map(\x -> renameFile x  "/home/name/newfile.txt") listOfFullPath
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我没有看到文件被重命名.

有谁知道为什么renameFile不在map()内部工作?

我知道renameFile :: FilePath -> FilePath -> IO (),我也尝试以下:

let outputList = map(\x -> renameFile x "/home/name/newfile.txt" >> return ()) listOfFullpath
Run Code Online (Sandbox Code Playgroud)

haskell

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

使用foldr在Haskell中定义地图,

我是Haskell的新手并尝试理解地图功能.

到目前为止,我理解以下内容.

map::(a->b)->[a]->[b]
map f (x:xs) = f x : map f xs
Run Code Online (Sandbox Code Playgroud)

但我不明白以下定义:使用foldr定义地图

map'::(a->b)->[a]->[b]
map' f = foldr ( (:).f ) []
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释上面的地图'定义以及为什么它与地图相同

haskell

0
推荐指数
1
解决办法
597
查看次数

用C/C++澄清悬空指针

关于在C/C++中悬空指针,我有点困惑

void remove(){
Node* curr = new Node(10);
Node* pt = curr;
delete curr;

// do something here
// do other thing here
}
Run Code Online (Sandbox Code Playgroud)

我假设Node* pt在函数remove()终止之前仍然悬空指针?

终止Node* pt后我不必担心指针remove()

c++ dangling-pointer

0
推荐指数
2
解决办法
1001
查看次数

Haskell中的过载角括号作为内积运算符

我想知道我是否可以将尖括号'<'和'>'重载为:

data Vec a = Vec [Integer] deriving Show
let u = Vec [1, 2, 3]
let v = Vec [2, 4, 5]

<u, v> = inner product of u and v 
Run Code Online (Sandbox Code Playgroud)

我知道我可以将'<&>'重载为运算符:

Vec u <&> Vec v = Vec $ zipWith(\x y -> x*y) u v
Run Code Online (Sandbox Code Playgroud)

haskell

0
推荐指数
1
解决办法
159
查看次数

使用fun fun x = x + 1形式定义Haskell函数

如果我有如下功能:

f::[a]->Integer
f  [] = 0
f (x:cx) = 1 + (f cx)
Run Code Online (Sandbox Code Playgroud)

如何用'let'定义main内部的函数?

我知道我可以在main中定义一个函数:例如

let f x = x + 1
Run Code Online (Sandbox Code Playgroud)

但我是如何模式匹配的"f [] = 0"呢?

谢谢

haskell

-2
推荐指数
1
解决办法
126
查看次数