小编Son*_*ton的帖子

带有函数参数的Scala案例类

我正在使用这段代码:

case class State[S, +A](run: S => (A, S)) {
  ...                                          
  def flatMap[B](f: A => State[S, B]): State[S, B] = State(s => {    
    val (a, s1) = run(s)
    f(a).run(s1)
  })
  ...                                        
}
Run Code Online (Sandbox Code Playgroud)

这是一个用于处理纯函数状态的抽象,来自Scala中FP的 §6 .run是一个函数参数,它接受一个状态并发出一个值元组和一个新状态.

我的问题是围绕s =>本节的语法:

... B] = State(s => { ...
Run Code Online (Sandbox Code Playgroud)

这似乎是使用State'构造函数'(即apply)来构建一个新的State对象.但s代表什么呢?它是一个'匿名'状态,代表任何国家实例吗?如果是这样,它有什么不同this?或者s对应于输入参数,runSfrom:

... (run: S => ....  
Run Code Online (Sandbox Code Playgroud)

为什么我会使用构造函数进行函数定义?请注意,flatMap定义的最后一个符号)不是a },即关闭Stateapply构造函数.

此方案与标准略有不同

case class Person(name: …
Run Code Online (Sandbox Code Playgroud)

scala

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

在Clojure函数中移动参数

我正在研究4clojure问题29:"搞定问题"

(= (__ "HeLlO, WoRlD!") "HLOWRD")
Run Code Online (Sandbox Code Playgroud)

我在REPL中写了一个解决方案:

user=> (apply str (filter (fn [foo] (some #(= % foo) 
         (map char (range 65 91)))) "AbC"))
"AC"
Run Code Online (Sandbox Code Playgroud)

但是,你可以看到我的参数"ABC"嵌套两个括号内.我怎么会我的参数移动到外面,所以我可以在4clojure测试中使用它?我是否以错误的方式解决了问题?

clojure

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

sshfs在expect脚本中没有使用密码

我写了一个小脚本来为sshfs提供密码,但由于某些原因,sshfs没有抓取密码.有什么指针吗?(PS我知道ssh密钥更好/更安全,但我工作的政治会阻止在目标服务器上设置基于密钥的身份验证 - 叹息......).

#!/usr/bin/expect
# NOT WORKING!!
exp_internal 1
spawn sshfs server:/export/pc_storage /home/sonia/mnt/server
expect {
    "assword:" {
        send "secret\r\r"
        send_user "\n"
    }
    timeout {
        send_user "timed out!\n"
     }
}
Run Code Online (Sandbox Code Playgroud)

要终止密码,我试过\ r \n\r \n\r \n-无法正常工作.

调试输出,显示密码提示正在触发:

spawn sshfs server:/export/pc_storage /home/sonia/mnt/server
parent: waiting for sync byte
parent: telling child to go ahead
parent: now unsynchronized from child
spawn: returns {17532}

expect: does "" (spawn_id exp6) match glob pattern "assword:"? no
pcuser@server's password: 
expect: does "pcuser@server's password: " (spawn_id exp6) match glob pattern …
Run Code Online (Sandbox Code Playgroud)

ssh expect

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

tshark - 仅输出应用程序层解码

使用tshark,我如何才能解码并显示应用层

例如,我可以使用以下方法捕获和解码snmp流量:

sudo tshark -V -i lo -d udp.port==161,snmp
Run Code Online (Sandbox Code Playgroud)

这将解码从物理层到应用程序层的所有层(输出剪切):

Frame 120: 134 bytes on wire (1072 bits), ...
    Interface id: 0
    ....
Ethernet II, Src: 00:00:00_00:00:00 (00:00:00...
    Destination: 00:00:00_00:00:00 ...
    ....
Internet Protocol Version 4, Src: 127.0.0.1...
    Version: 4
    ....
User Datagram Protocol, Src Port: snmp (161), ....
    Source port: snmp (161)
    ....
Simple Network Management Protocol
    version: v2c (1)
    community: public
    ....
Run Code Online (Sandbox Code Playgroud)

(我只想从"简单网络管理协议"开始解码).

我考虑过的其他事情

我知道使用字段输出(例如-e snmp.community).为snmp指定所有字段将永远...

我可以使用pdml输出,并使用XSLT转换结果.但pdml输出很慢,使用XSLT似乎有点过分:

sudo tshark -V -T pdml …
Run Code Online (Sandbox Code Playgroud)

wireshark tcp-ip tshark

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

saltstack“支柱无法渲染并显示以下消息”

当我执行以下操作时收到以下错误消息state.apply

[ERROR   ] Data passed to highstate outputter is not a
valid highstate return: {'sonia9': ['Pillar failed to
render with the following messages:', "Rendering SLS 'users'
failed. Please see master log for details."]}
Run Code Online (Sandbox Code Playgroud)

是否可以看到实际渲染以及失败的地方?

我已经尝试过:

  • log_level: garbage/etc/salt/master,重新启动守护进程
  • salt-call -l debug state.apply在奴才上

我收到同样无用的错误消息,并且没有有关实际渲染的更多详细信息。

salt-stack

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

如何只构建而不运行

在Gogland中,如何设置“运行/调试配置”以仅构建项目go build而不运行项目go run *.go

入门指南》说,“ Go应用程序”类型等同于go build命令 -但实际上它运行我的二进制文件。

功能”页面不再提供更多详细信息。

到目前为止,我已经使用Vim进行编辑,所以我对Jetbrain的GUI编辑器不熟悉。


去版本 go1.9 darwin/amd64

高兰 Build #GO-172.3968.45, built on September 5, 2017

jetbrains-ide go goland

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

如何在Linux中编写文本模式gui?

当我编写脚本/程序时,我经常会弹出一个简单的文本'gui'来提示输入:

debian安装屏幕

我该怎么做?例如来自Shell,Ruby,Golang或C.我甚至不知道这是什么叫做Google而且Google并没有对"脚本中的文本内容"做出反应.

(该示例来自Debian安装程序).

c ruby linux bash go

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

标签 统计

go ×2

bash ×1

c ×1

clojure ×1

expect ×1

goland ×1

jetbrains-ide ×1

linux ×1

ruby ×1

salt-stack ×1

scala ×1

ssh ×1

tcp-ip ×1

tshark ×1

wireshark ×1