注意,我们不会失去CLI的经典功能。 您仍然可以输入所需的内容,并立即跳过所有这些菜单。 而且Coltrane足够好,可以打印出您要达到当前状态所必须输入的内容。 例如:
$ coltrane show chord和弦:Cm7 chord_representation:文本
就像URL一样
- 音乐流媒体:歌曲作者获得多少报酬? 发行商Sue Peloton使用Lady Gaga德雷克的歌曲
- 收音机留给教堂
- 演讲-“ Wa Bona Nou”
- 平克·弗洛伊德(Pink Floyd)通过战后恩努伊(Ennui)的长途跋涉
- 10张专辑,2016年。
与网络的比较不会止于此。 因此,让我们深入研究新的Coltrane CLI的体系结构。

当您键入coltrane
您最终将落入此行:
响应= {path:(path ||''),** params}
循环{response = app.flow(** response)}
本质上, #flow
向路由器发送一个请求,该请求将实例化适当的视图,该视图将重新生成response
。 然后,我们使用此响应再次调用相同的方法。
那是转折点!
我们使用与请求相同的响应,从而创建了不间断的流程。
每个视图可能都有一个问题列表,在呈现之前必须先回答这些问题:
如果参数不包含这些问题的答案,它将发送回App
,后者将使用令人赞叹的Shopify的CLI / UI gem来呈现问题:
Shopify /客户端
终端用户界面库。 通过在GitHub上创建一个帐户来为Shopify / cli-ui开发做出贡献。 www.github.com
然后将问题转换为参数,并再次完成请求。
但这是一个技巧:如果问题与path:
,则路由器实际上将使用该答案来触发不同的视图。 这样,视图实际上可以用作其他视图的重定向点:
这个系统允许我们插入任何东西来代替CLI ,只要它已经准备好向用户questions
并提供视图params
(即答案)即可。 也许我们可以有一天有一个Telegram机器人?
现在就这样。 以后我可能会详细介绍这个主题。 如果您喜欢本文或有任何疑问,请在评论中让我知道。