如果我将ls的输出粘贴到缓冲区中,则命令
:%s/.*\(\".*\"\).*/\1/
Run Code Online (Sandbox Code Playgroud)
将输出减少到文件路径.想要在变量中实现这个结果,我做到了
:redir => x|silent :ls|redir END
:let y = substitute(x, ".*\(\".*\"\).*", "\1", "g")
Run Code Online (Sandbox Code Playgroud)
绝对没有任何成就,y与x完全相同.我已尝试过对该替换命令的无变化,只得到相同的结果或一堆错误消息.我该如何指定它?
我需要Bitmap水平翻转.我尝试将其scaleX属性设置为-1.0,并且修改了Bitmap这样的方式,我只能看到它的一小部分(翻转)在左侧,而不是整个翻转Bitmap.其x财产仍然存在0.我使用转换矩阵尝试了同样的事情,结果相同.
我究竟做错了什么?
我不确定我是否正确使用泛型,但基本上我创建了一个Arraylist<? extends ModuleInfo> moduleList和ModuleInfo m对象,并试图调用moduleList.add(m).但它不会编译,我收到的错误消息对我来说似乎有些神秘.错误消息和代码如下.其他人都知道出了什么问题?
void load() {
ArrayList<? extends ModuleInfo> moduleList = new ArrayList();
Iterator<? extends ModuleInfo> iter_m;
ModuleInfo m;
//get modules that depend on this module
//retrieve list of all modules and iterate trough each one
iter_m = Lookup.getDefault().lookupAll(ModuleInfo.class).iterator();
while(iter_m.hasNext()) {
m = iter_m.next();
//loop through modules dependencies and check for a dependency on this module
for(Dependency d : m.getDependencies()) {
//if found, the module to the list
if(d.getName().equals(GmailAuthManager.class.getPackage().getName())) {
moduleList.add(m);
break; …Run Code Online (Sandbox Code Playgroud) sed -n '5,10 p' < /proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)
打印文件/ proc/cpuinfo的5-10行
我想用类似的东西
start=5
end=10
sed -n '$start,$end p' < /proc/cpuinfo
Run Code Online (Sandbox Code Playgroud)
这样我就可以改变脚本的开始和结束值.
如何在Java中将对象的名称与字符串进行比较?
例如:
class_name obj = new class_name();
Run Code Online (Sandbox Code Playgroud)
我想比较对象名称obj和字符串.这样做的正确方法是什么?
您好我想匹配字符串一样/admin/或/admin/something或者/admin,但没有/administration或/administrator.我写了这个正则表达式:
$pattern = '%^/admin(/|/[a-zA-Z0-9_-]{1,})?$%'
Run Code Online (Sandbox Code Playgroud)
它有效,但它是丑陋的东西.我想知道它可以写得更清洁和易懂吗?
我有以下代码:
void cp(void *a, const void *b, int n)
{
for (int i = 0; i < n; ++i) {
((char *) a)[i] = ((const char *) b)[i];
}
}
void _start(void) {
char buf[20];
const char m[] = "123456789012345";
cp(buf, m, 15);
register int rax __asm__ ("rax") = 60; // exit
register int rdi __asm__ ("rdi") = 0; // status
__asm__ volatile (
"syscall" :: "r" (rax), "r" (rdi) : "cc", "rcx", "r11"
);
__builtin_unreachable();
}
Run Code Online (Sandbox Code Playgroud)
如果使用进行编译,则会gcc -nostdlib …
存储经常使用的数据库表ID的最佳方法是什么?
例如,您有一个存储记录状态的表,例如活动已删除,已清除等.您要创建新的用户记录,并且需要设置RecordStatusID,您将在哪里获取该数据?做数据库通话?
我见过开发人员创建了与表int ID匹配的枚举,但我不认为这是最好的方法.
我有以下代码:
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%f\n", fmax(1.2, 3.4));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我编译:
gcc a.c -o a && ./a
Run Code Online (Sandbox Code Playgroud)
然后我得到了预期的输出:
3.400000
Run Code Online (Sandbox Code Playgroud)
如果我尝试启用警告并以C89为目标,我无法编译:
$ gcc -Wall -Wextra -std=c89 -pedantic -Wstrict-prototypes a.c -o a
a.c: In function ‘main’:
a.c:5:5: warning: implicit declaration of function ‘fmax’ [-Wimplicit-function-declaration]
a.c:5:5: warning: format ‘%f’ expects argument of type ‘double’, but argument 2 has type ‘int’ [-Wformat]
/tmp/cc8d2iQl.o: In function `main':
a.c:(.text+0x1d): undefined reference to `fmax'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
$ gcc -Wall …Run Code Online (Sandbox Code Playgroud) 我不能用一个简单的程序重现这个,但在我的程序的某个地方我有类似的东西:
float e = f(...);
if (e > 0.0f) {
...
Run Code Online (Sandbox Code Playgroud)
printf("%f", e)表明,e是0.000000的,但e > 0.0f也是如此...所以是e > 0和e > 0.0.我错过了什么?