我可以像这样在c#中编写switch case吗?
switch (string)
case [a..z]+
// do something
case [A..Z]+
// do something
....
Run Code Online (Sandbox Code Playgroud) 我想使用 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,谢谢
我有这个代码:
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")在上面的代码的两倍.有没有办法只写一次?
我使用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,应该下载哪个驱动程序?
我使用 vscode+merlin 来读取 OCaml 代码。有时它可以给我一个类型,但有时它只告诉我一个类型'a,这与告诉我什么都没有一样。我必须通过阅读代码来猜测值的类型。阅读代码来得出值的类型很重要,但有时我怀疑我的猜测是否正确。
所以我想要一个可以在运行时获取值类型的方法,就像 Java 或 C# 中的反射一样。
var a = 1;
Console.WriteLine(a.GetType());
Run Code Online (Sandbox Code Playgroud)
有没有办法在 OCaml 中做同样的事情?
在
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)函数。”
那么行动到底是什么?功能还是特质?
我有这个程序:
-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但可以捕获这个错误吗?谢谢!
我写了这个简单的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)
该计划有什么问题?
使用模块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中执行此操作
我需要一些例子,谢谢!
我在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 ×3
regex ×2
apache-mina ×1
c# ×1
cmdb ×1
elixir ×1
erlang ×1
f# ×1
java ×1
jdbc ×1
ocaml ×1
postgresql ×1
reflection ×1
scala ×1
ssh ×1