构建大型 Ruby 应用:聊天机器人的实现
1. 构建随机响应方法
为了从选定的响应组中检索随机短语,我们可以创建一个私有方法 random_response :
private
def random_response(key)
random_index = rand(@data[:responses][key].length)
@data[:responses][key][random_index].gsub(/\[name\]/, @name)
end
这个方法简化了从 @data 中的特定短语集中选取随机短语的过程。 random_response 的第二行执行了替换操作,将包含 [name] 的响应中的 [name] 替换为机器人的名称。例如,示例问候语 “Hi. I’m [name]. Want to chat?”,如果机器人的名称是 “Fred”,输出将变为 “Hi. I’m Fred. Want to chat?”。
需要注意的是,私有方法不能从类外部调用。由于 random_response 仅在类内部使用,因此它非常适合作为私有方法。
我们可以更新 greeting 和 farewell 方法来使用 random_response :
超级会员免费看
订阅专栏 解锁全文
16

被折叠的 条评论
为什么被折叠?



