我很难找到具体的答案,我所知道的是微不足道的.我想了解块如何在Scala中工作.我来自java/ruby背景,似乎scala有一种完全不同的使用块的方式.
以下代码来自Play!框架网站.我想了解Action在语义上是什么.是接受块的对象还是函数,或者两者都不接受.
object Application extends Controller {
def index = Action {
Ok(views.html.index("Your new application is ready."))
}
}
Run Code Online (Sandbox Code Playgroud)
如果它是一个函数,也许它是以下的语法糖(在这种情况下scala如何在幕后传递块):
def index = Action({
Ok(views.html.index("Your new application is ready."))
})
Run Code Online (Sandbox Code Playgroud)
或者它是一些我不知道的scala语法.
对Scala源代码的任何引用都将帮助我理解它在幕后的工作原理.
我在https://github.com/eastwood/dotnet-rsa-encryption创建了一个演示回购.来自README,其中包括问题陈述.
我已经生成了一个随机的RSA密钥对.这是使用:
openssl genrsa -out test-key.pem 4096
openssl rsa -in key.pem -pubout > test-key-public.key
Run Code Online (Sandbox Code Playgroud)
下面概述了问题,我根本无法获得.NET Core的工作解决方案.
命令在osx上运行,但希望也适用于windows + linux.
$ cat run-cli.sh`
echo "Encrypting the following text: 4111111111111"
echo "411111111111" | openssl rsautl -encrypt -oaep -pubin -inkey certs/test-key-public.key | base64 | cat > cli-encrypted.txt
cat cli-encrypted.txt | base64 --decode | openssl rsautl -decrypt -oaep -inkey certs/test-key.pem
Run Code Online (Sandbox Code Playgroud)
这完全符合预期.
节点也可以正常工作.样机在这里
你可以通过:
npm i
npm run start && ./run-node.sh`
Run Code Online (Sandbox Code Playgroud)
.NET无法正常工作:(
class …Run Code Online (Sandbox Code Playgroud)