代码之家  ›  专栏  ›  技术社区  ›  grundic

Watir改变了highline的“询问”方法

  •  3
  • grundic  · 技术社区  · 16 年前

    在一起使用Watir和Highline时,我遇到了一些奇怪的功能。

    下面是一个简单的例子:

    require 'highline/import'
    comp = ask("Company?  ") { |q| q.default = "MySuperCompany" }
    puts comp
    
    require 'watir'
    comp = ask("Company?  ") { |q| q.default = "MySuperCompany" }
    puts comp
    

    以下是一个输出:

    Company?  |MySuperCompany|
    MySuperCompany
    [Company?  ] =>
    Company?
    

    也许是虫子? 我在highline的文档中也发现

    如果在调用ask()之前设置了@question 调用时,参数将被忽略,并且 该对象(必须是 相反,这是一个过程。

    对不起,我不是红宝石大师:-(

    1 回复  |  直到 16 年前
        1
  •  5
  •   Jarmo Pertman    16 年前

    确认。它确实是这样的。

    埃尔杰科: http://highline.rubyforge.org/

    grundic:问题与Watir本身无关,但与另一个名为s4t utils的库有关( http://s4t-utils.rubyforge.org/

    您可以使用HighLine.new.ask而不仅仅是“ask”来解决问题:

    require "highline/import"
    comp = ask("Company?  ") { |q| q.default = "MySuperCompany" }
    puts comp
    
    require 'watir'
    comp = ask("Company?  ") { |q| q.default = "MySuperCompany" }
    puts comp
    
    comp = HighLine.new.ask("Company?  ") { |q| q.default = "MySuperCompany" }
    puts comp
    

    生产:

    Company?  |MySuperCompany|  my
    my
    [Company?  ] => my
    my
    Company?  |MySuperCompany|  my
    my
    

    推荐文章