小编rgr*_*erg的帖子

如何在插入模式下返回上一个缩进级别?

有时vim的smartindent在你进入下一行时没有为下一行选择正确的缩进级别,你想要回到前一行的缩进级别并从那里开始.我知道你可以打ctrl-d几次来达到这个目的但是对于一个直接进入上面一行缩进级别的键来说会更有用.

vim

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

价值不够多态

以下是我的代码演示问题的最小示例:

module Substring = struct
  type t = {
    base: string;
    pos: int;
    len: int
  }
end

module Parser = struct
  type 'a t = Substring.t -> ('a * Substring.t) option
  let return x s = Some (x, s)
end

type (_, _) t =
  | TryParse : unit Parser.t -> ('a, 'a) t
  | Parse    : 'b Parser.t -> ('a, 'b -> 'a) t
  | Concat   : ('b, 'c) t * ('a, 'b) t -> ('a, 'c) t

let …
Run Code Online (Sandbox Code Playgroud)

ocaml

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

mvn-gae-plugin突然坏了

我不确定发生了什么,但我没有更改我的pom并且只进行了干净的安装,但现在运行我的应用程序mvn gae:run给了我以下错误:

[ERROR] Failed to execute goal net.kindleit:maven-gae-plugin:0.9.4:run (default-cli) on project geoip-service: Execution default-cli of goal net.kindleit:maven-gae-plugin:0.9.4:run failed: Plugin net.kindleit:maven-gae-plugin:0.9.4 or one of its dependencies could not be resolved: Failed to collect dependencies for net.kindleit:maven-gae-plugin:jar:0.9.4 (): Failed to read artifact descriptor for net.kindleit:gae-runtime:pom:1.7.5: Could not find artifact net.kindleit:maven-gae-parent:pom:0.9.6-SNAPSHOT in genius (our_own_repo_here)

我正在使用sdk的1.7.2版本,所以我不确定1.7.5可能来自哪里.

google-app-engine maven maven-gae-plugin

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

如何使用OCaml获取计算机上的核心数量?

我正在将我的OCaml程序中的一些工作并行化(parmap但是)我宁愿不将核心数量硬编码到我的应用程序中.有没有办法在运行时获得核心数量?我宁愿不再添加任何依赖项(没有超出parmap或JS的core).我有一种感觉,我在stdlib看到一些简单的电话......

编辑:它不必是便携式的.在linux上工作已经足够了.

ocaml

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

如何在数组和字符串上编写仿函数?

我想使用以下签名使我的代码在字符串和数组(真正的任何可索引类型)上通用:

module type Indexable = sig
  type 'a t
  val get : int -> 'a t -> 'a
end
Run Code Online (Sandbox Code Playgroud)

module MyCode (I : Indexable) = struct ... end

但是我当然不能将我的签名应用于字符串,如下所示:

module StrMyCode = MyCode(struct
  type 'a t = string
  let get i a = a.[i]
end)
Run Code Online (Sandbox Code Playgroud)

有什么方法可以解决这个问题吗?或者也许是另一种不同的方式?我知道在最糟糕的情况下我可以使用字符数组,但我宁愿将代码保存在丑陋的演员表中,这是我之前想到的,所以我想得到一个明确的答案.

ocaml

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

如何在ocamlnet的netclient中设置Http_client的用户代理?

也许我错过了一些明显的东西,但是文档并没有向我透露任何东西.

解决方案或解决方法将非常有用.

ocaml

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

小Lwt端口扫描仪不工作

我正在尝试编写一个小型Lwt(和电池)端口扫描程序,以便更好地了解Lwt,但每当我尝试使用scan_ports_range扫描太多端口时,我就会遇到一个奇怪的异常.我怀疑我保持最大连接数打开的机制不起作用......

Exception: Unix.Unix_error (Batteries.Unix.EMFILE, "socket",""). Fatal error: exception Sys_error("/home/(censored)/.opam/4.00.1/lib/utop: Too many open files") (这也崩溃utop btw)

代码如下.要触发错误评估: scan_ports_range ~host:"127.0.0.1" (1000,2000)

我对lwt风格的批评/建议也很受欢迎,因为我刚开始学习它.

open Lwt

let addr_parts addr = 
  let (host, port) = String.split addr ":" in (host, int_of_string port)

let addr ~host ~port = 
  lwt entry = Lwt_unix.gethostbyname host in
  if Array.length entry.Unix.h_addr_list = 0 then begin
    failwith (Printf.sprintf "no address found for host %S\n" host)
  end;
  return (Unix.ADDR_INET (entry.Unix.h_addr_list.(0), port))

let test_connection ?(timeout=1.0) addr = 
  let fd = Lwt_unix.socket Unix.PF_INET Unix.SOCK_STREAM …
Run Code Online (Sandbox Code Playgroud)

ocaml

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

标签 统计

ocaml ×5

google-app-engine ×1

maven ×1

maven-gae-plugin ×1

vim ×1