小编wan*_*kai的帖子

我可以在带开关盒的c#中使用正则表达式吗?

我可以像这样在c#中编写switch case吗?

switch (string)

case [a..z]+

//   do something

case [A..Z]+

//   do something

....
Run Code Online (Sandbox Code Playgroud)

c# regex

7
推荐指数
3
解决办法
5953
查看次数

使用 apache sshd ssh 客户端出现错误“未检测到/配置”IoServiceFactoryFactory

我想使用 apache sshd 项目http://mina.apache.org/sshd-project/连接网络交换机:

public void connect(){ 

    try 
    { 
      client = SshClient.setUpDefaultClient(); 
      client.start(); 
      session=client.connect(account, host, port).getSession(); 
      session.addPasswordIdentity(password); 
      session.auth().verify(); 
    } 
    catch (Exception e) 
    { 
       System.out.println(e.getMessage()); 
    } 
}
Run Code Online (Sandbox Code Playgroud)

但出现错误:

使用 apache sshd ssh 客户端出现错误“未检测到/配置”IoServiceFactoryFactory

如何解决?谢谢

我在文档中找不到 apache sshd 项目是否支持 ssh 协议 1.5?此设备使用 ssh 2.0,但我的其他设备使用 ssh 1.5,谢谢

java ssh apache-mina

6
推荐指数
0
解决办法
2033
查看次数

如何避免两次写正则表达式匹配?

我有这个代码:

let main argv = 
let x="b"
match x with
| _ when Regex.Match(x,"a").Success=true->
    let a=Regex.Match(x,"a")
    Console.WriteLine(a.Groups.[0])
| _ when Regex.Match(x,"b").Success=true->
    let b=Regex.Match(x,"b")
    Console.WriteLine(b.Groups.[0])
Run Code Online (Sandbox Code Playgroud)

我必须写Regex.Match(x,"a"),并Regex.Match(x,"b")在上面的代码的两倍.有没有办法只写一次?

f#

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

我应该使用哪个JDBC驱动程序版本来访问PostgreSQL 9.5?

我使用apt install在我的Ubuntu 16.04上安装了PostgreSQL-它安装了PostgreSQL 9.5.12。我想使用cmdbuild 2.5。它在tar.gz安装文件中默认为我提供9.4.1204 JDBC驱动程序。

但是我在安装cmdbuild时有一些错误,因此我认为驱动程序版本是错误的。

数据库驱动程序在这里:https : //jdbc.postgresql.org/download.html

但是没有9.5,是42?

如果要连接PostgreSQL 9.5.12,应该下载哪个驱动程序?

postgresql jdbc cmdb

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

有没有办法在 OCaml 中获取值的类型,如 c# 或 java 的反射?

我使用 vscode+merlin 来读取 OCaml 代码。有时它可以给我一个类型,但有时它只告诉我一个类型'a,这与告诉我什么都没有一样。我必须通过阅读代码来猜测值的类型。阅读代码来得出值的类型很重要,但有时我怀疑我的猜测是否正确。

所以我想要一个可以在运行时获取值类型的方法,就像 Java 或 C# 中的反射一样。

var a = 1;
Console.WriteLine(a.GetType());
Run Code Online (Sandbox Code Playgroud)

有没有办法在 OCaml 中做同样的事情?

reflection ocaml

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

真正的动作是什么?

val echo = Action { request =>
  Ok("Got request [" + request + "]")
}
Run Code Online (Sandbox Code Playgroud)

看来Action是一个函数,只有一个函数类型参数,它的类型是Request [A] => Result

在文档中:https : //www.playframework.com/documentation/2.7.x/api/scala/play/api/mvc/Action.html

它告诉我Action是一个特质:

trait Action[A] extends EssentialAction
Run Code Online (Sandbox Code Playgroud)

“动作本质上是处理请求并生成要发送到客户端的结果的(Request [A] => Result)函数。”

那么行动到底是什么?功能还是特质?

scala playframework

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

为什么这个带有类型签名的erlang prog可以编译?

我有这个程序:

-module(a).
-export([add/2]).
-export([add2/1]).

-spec add(integer(),integer())->integer().
add(A,B)->A+B.

add2(C)->C+add(1,"a").
Run Code Online (Sandbox Code Playgroud)

我可以毫无错误地编译这个程序。但我认为我应该得到该行的错误

add(1,"a").
Run Code Online (Sandbox Code Playgroud)

在任何静态类型语言中,它都无法编译,那么为什么erlang会编译这个?如何
编写类型签名以便erlang可以捕获这个错误?如果erlang不能,elixir可以编写相同的prog但可以捕获这个错误吗?谢谢!

erlang elixir

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

为什么这个TCP服务器不起作用?

我写了这个简单的tcp服务器:

import Network
import Network.Socket.ByteString

main :: IO()
main = do
    sock <- listenOn $ PortNumber 2000
    contents <- recv sock 4096
    print contents
Run Code Online (Sandbox Code Playgroud)

堆栈构建成功,然后我运行服务器,使用telnet测试它,但我收到一个错误:

在linux上:

Network.Socket.recvBuf:invalid argument (Transport endpoint is not connected)
Run Code Online (Sandbox Code Playgroud)

在Windows上:

Network.Socket.recvBuf:failed(No error)
Run Code Online (Sandbox Code Playgroud)

该计划有什么问题?

haskell

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

如何在Haskell正则表达式中捕获字符串?

使用模块Text.Regex.Posix,我可以检查字符串是否与正则表达式匹配,但是我不知道如何捕获字符串中的元素

例如,我可以通过fsharpx捕获3个元素:

Match @"(?i:MAIL\s+FROM:\s*<([a-zA-Z0-9]+)@([a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+)>\s*(SIZE=([0-9]+))*)" mailMatch -> 
Run Code Online (Sandbox Code Playgroud)

我能抓到

([a-zA-Z0-9]+) by mailMatch.Groups.[0].ToString() 
([a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+) by mailMatch.Groups.[1].ToString() 
([0-9]+))* by mailMatch.Groups.[2].ToString() 
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在Haskell中执行此操作

我需要一些例子,谢谢!

regex haskell

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

如何从Either获得价值?

我在ghci中有这段代码,尝试解码base64代码:

let a=pack "MTExMTEx"
let b=decode a
:t b
b :: Either String ByteString
Run Code Online (Sandbox Code Playgroud)

所以如何从任何一个获得解码字节串?是否有一些像Maybe的那样的函数来自于Just?我找不到它,谢谢.

haskell

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

标签 统计

haskell ×3

regex ×2

apache-mina ×1

c# ×1

cmdb ×1

elixir ×1

erlang ×1

f# ×1

java ×1

jdbc ×1

ocaml ×1

playframework ×1

postgresql ×1

reflection ×1

scala ×1

ssh ×1