f# canopy 中的按钮扩展
button extension in f# canopy
我正在尝试在 f# 和 canopy 中进行通用按钮扩展。
如你所知,我们可以在 canopy 中单击这样的按钮
click (//button[contains(text(),'save')])[last()]
但我正在尝试做这样的事情。
let _button value = sprintf "(//button[contains(text(),'%s')])[last()]" value
let button value = _button value
click button "save"
但这给出了这个值不是函数,不能应用
有什么好主意吗?
提前致谢
button
是一个带有签名的函数:string -> string
click
是一个带有签名的函数:string -> something
所以,你不能把button
传给click
,你应该这样写:
click (button "save")
或
click <| button "save"
按照惯例,我会将您的代码重写为:
let button = sprintf "(//button[contains(text(),'%s')])[last()]"
click (button "save")
我正在尝试在 f# 和 canopy 中进行通用按钮扩展。
如你所知,我们可以在 canopy 中单击这样的按钮
click (//button[contains(text(),'save')])[last()]
但我正在尝试做这样的事情。
let _button value = sprintf "(//button[contains(text(),'%s')])[last()]" value
let button value = _button value
click button "save"
但这给出了这个值不是函数,不能应用
有什么好主意吗?
提前致谢
button
是一个带有签名的函数:string -> string
click
是一个带有签名的函数:string -> something
所以,你不能把button
传给click
,你应该这样写:
click (button "save")
或
click <| button "save"
按照惯例,我会将您的代码重写为:
let button = sprintf "(//button[contains(text(),'%s')])[last()]"
click (button "save")