如何将参数解析为 hubot 脚本
How to parse parameters to a hubot script
新手 hubot/coffeescript 继承和现有脚本。
我用谷歌搜索并发现了一些无用的东西,例如:
我想做的是能够将参数解析为我的 Hubot 消息。例如:
startPlaceOrderListener = () ->
robot.respond /order me (.*)/i, (res) ->
然后跟着你想点什么。
我显然可以重新发明轮子并自己解析 res.match[1],但 hubot 似乎已经内置了一些正则表达式解析供自己使用,我想知道是否有办法利用它来达到我自己的邪恶目的。
事实证明,coffeescript 内置了正则表达式。所以
/order me (.*)/i
是纯 coffeescript。
要匹配正则表达式,您可以这样做:
/order me (.*)/i.test("Bob")
如果不想忽略大小写,可以省略 i。
要解析 CoffeeScript
中的输入值,您可以执行以下操作:
robot.respond /open the (.*) doors/i, (res) ->
doorType = res.match[1]
if doorType is "pod bay"
res.reply "I'm afraid I can't let you do that."
else
res.reply "Opening #{doorType} doors"
新手 hubot/coffeescript 继承和现有脚本。
我用谷歌搜索并发现了一些无用的东西,例如:
我想做的是能够将参数解析为我的 Hubot 消息。例如:
startPlaceOrderListener = () ->
robot.respond /order me (.*)/i, (res) ->
然后跟着你想点什么。
我显然可以重新发明轮子并自己解析 res.match[1],但 hubot 似乎已经内置了一些正则表达式解析供自己使用,我想知道是否有办法利用它来达到我自己的邪恶目的。
事实证明,coffeescript 内置了正则表达式。所以
/order me (.*)/i
是纯 coffeescript。
要匹配正则表达式,您可以这样做:
/order me (.*)/i.test("Bob")
如果不想忽略大小写,可以省略 i。
要解析 CoffeeScript
中的输入值,您可以执行以下操作:
robot.respond /open the (.*) doors/i, (res) ->
doorType = res.match[1]
if doorType is "pod bay"
res.reply "I'm afraid I can't let you do that."
else
res.reply "Opening #{doorType} doors"