我使用 vim-fugitive:Gdiff进行提交,但它不显示空格更改,因此我无法提交,例如缩进更改。我没有任何全局 git 配置,例如core.whitespace,如果我git diff在 shell 中运行,我会看到空格更改。
有什么想法如何使逃亡者的 diff 模式对 ws 敏感吗?
谢谢。
我正在尝试在Common Lisp中实现一些数据结构(如HAMP-hash数组映射trie),我需要获得32位或64位哈希的对象,我想在这些数据结构中存储它们.
我知道我可以把对象放到Common Lisp哈希表(用它创建(make-hash-table))中,但我找不到一种获取对象哈希的方法,比如hashCodeJava或hashPython.Common Lisp有这样的功能吗?如果没有,CL的标准哈希表如何从任意类型的对象生成哈希值?
我正在尝试生成这样的节点:
<div layout horizontal></div>
Run Code Online (Sandbox Code Playgroud)
使用DOM API.
我正在尝试这样的事情:
var d = document.createElement("div");
d.setAttribute(...);
Run Code Online (Sandbox Code Playgroud)
但从来没有真正设法生成我想要的东西.任何想法如何做到这一点?
谢谢.
我有一个OCaml程序(使用main方法 - 它生成一个可执行文件),我想将它用作库.
我正在编译我的程序:ocamlc -I someDir -g -unsafe lotsOfCmoFiles -o outputFile这个程序运行正常.
现在我删除使它成为可执行文件的行(类似于let _ = ...)-a并向compile命令添加参数:ocamlc -a -I someDir -g -unsafe lotsOfCmoFiles -o outputFile.cma
但不知怎的,我无法加载生成的.cma文件ocamltop并ocamlbrowser显示一个空列表.当我尝试加载时ocamltop:
# #load "outputFile.cma";;
Error: Reference to undefined global `Xyz'
Run Code Online (Sandbox Code Playgroud)
而且我100%确定xyz.cmo包含在内lotsOfCmoFiles.
编译时我给出了一些参数错误吗?或者,我应该怎么做才能在ocamltop中加载我的程序?(我将在另一个程序中使用这个库,我以ocamltop输出为例)
任何帮助将不胜感激.
编辑:所以我终于可以设法编译并加载它感谢@cago,现在我可以加载我的库,当我不删除主线时,let _ = ...它会在我加载时自动运行.cma.
但我仍然无法打开任何模块.奇怪的是,这不会引发异常
open Main
Run Code Online (Sandbox Code Playgroud)
但是当我从模块Main调用一个函数时:
# someFun;;
Error: Reference to undefined global `Main'
Run Code Online (Sandbox Code Playgroud)
并ocamlbrowse仍显示一个空列表.现在为什么呢?
EDIT2:我意识到open Main没有失败,因为我在同一个文件夹中有一个Main模块(即使我没有明确加载它).如果我将.cma文件移动到其他地方并加载它,它就可以工作(即主函数自动运行),但现在即使ocamlobjinfo显示模块也无法打开任何模块. …
我正在尝试在包含注释的JS文件上运行CPP.我想保留评论,所以我使用的是-C参数gcc -E -P,但是GCC或CPP会添加额外的评论.以下是如何重现:
? cpp-test ls
? cpp-test touch empty
? cpp-test gcc -E -P -x assembler-with-cpp -C empty -o empty.out
? cpp-test cat empty.out
/* Copyright (C) 1991-2013 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 …Run Code Online (Sandbox Code Playgroud) 我在使用Rust尝试使用BitTorrent跟踪器协议时遇到了这个问题.
这个应该使用UDP套接字发送一些数据的简单程序失败了:
use std::collections::HashSet;
use std::io::net::addrinfo;
use std::io::net::ip::{Ipv4Addr, SocketAddr, IpAddr};
use std::io::net::udp::UdpSocket;
fn main() {
let addr = SocketAddr { ip: Ipv4Addr(127, 0, 0, 1), port: 34254 };
let mut socket = match UdpSocket::bind(addr) {
Ok(s) => s,
Err(e) => panic!("couldn't bind socket: {}", e),
};
let host_addr = "tracker.openbittorrent.com";
let port = "80";
let host_ips: HashSet<IpAddr> =
addrinfo::get_host_addresses(host_addr.as_slice()).unwrap().into_iter().collect();
for host_ip in host_ips.into_iter() {
let socket_addr = SocketAddr {
ip: host_ip,
port: from_str(port).unwrap(),
};
println!("Sending to {}", socket_addr);
let data: …Run Code Online (Sandbox Code Playgroud) \n\n\n编者注:此代码示例来自 Rust 1.0 之前的版本,不是有效的 Rust 1.0 代码。问题中讨论的概念仍然有效。
\n
我正在尝试使用 Rust 进行 torrent 抓取。我可以在 Wireshark 中看到传入的包,但我的recv_from呼叫总是返回Error("End of file"). 这是我的程序:
use std::io::net::ip::{Ipv4Addr, SocketAddr};\nuse std::io::net::udp::UdpSocket;\nuse std::rand;\n\nuse std::io::MemWriter;\n\nfn main() {\n let addr = SocketAddr { ip: Ipv4Addr(0, 0, 0, 0), port: 35000 };\n let mut socket = match UdpSocket::bind(addr) {\n Ok(s) => s,\n Err(e) => panic!("couldn\'t bind socket: {}", e),\n };\n\n let mut buf: Vec<u8> = Vec::with_capacity(1000);\n\n let transaction_id: u32 = rand::random();\n let mut req_data = MemWriter::with_capacity(16);\n …Run Code Online (Sandbox Code Playgroud) 我想尽可能地限制我的程序中的函数的效果,以便例如,如果我有一个应该查询数据库的函数我知道它不会打印删除我的文件的东西.
举一个具体的例子,假设我有一个带有"users"表的数据库.
有些函数只读取此表,有些函数是读写的.
使用mtl和变换器我可以尝试这样的事情:
data User = User { username :: String }
deriving (Show)
class Monad m => ReadDb m where
getUsers :: m [User]
getUserByName :: String -> m (Maybe User)
class Monad m => WriteDb m where
addUser :: String -> m ()
removeUser :: String -> m Bool
Run Code Online (Sandbox Code Playgroud)
然而,如果不是不可能的话,实现我需要的实例是棘手的.为了能够访问数据库,我需要一个SqlBackend和IO:
data SqlBackend
instance (MonadReader SqlBackend m, MonadIO m, Monad m) => ReadDb m where
getUsers = undefined
getUserByName = undefined
instance (MonadReader SqlBackend m, MonadIO …Run Code Online (Sandbox Code Playgroud)