【问题标题】:quotes issue (ruby)报价问题(红宝石)
【发布时间】:2011-01-09 19:10:10
【问题描述】:

知道如何将正确的参数传递给 xpath 吗?必须有一些关于如何使用单引号/双引号的东西。当我使用变量时

parser_xpath_identificator = "'//table/tbody[@id=\"threadbits_forum_251\"]/tr'" 给了我一个不正确的值或

parser_xpath_identificator = "'//table/tbody[@id="threadbits_forum_251"]/tr'" 给我一个错误语法错误,意外的 tIDENTIFIER,期待 $end

require 'rubygems'
require 'mechanize'

parser_xpath_identificator = "'//table/tbody[@id=\"threadbits_forum_251\"]/tr'"
#   parser_xpath_identificator = "'//table/tbody[@id="threadbits_forum_251"]/tr'"
    #gives an error: syntax error, unexpected tIDENTIFIER, expecting $end

agent = WWW::Mechanize.new
page = agent.get("http://www.vbulletin.org/forum/index.php")
page = page.link_with(:text=>'vB4 General Discussions').click
puts "Page title: #{page.title}"
puts "\nfrom variable: #{page.parser.xpath(parser_xpath_identificator).length}"
puts "directly: #{page.parser.xpath('//table/tbody[@id="threadbits_forum_251"]/tr').length}"

【问题讨论】:

    标签: ruby syntax quotes double-quotes syntax-checking


    【解决方案1】:

    在这两种情况下,您都将单引号直接嵌套在双引号内,我认为这是不正确的。试试这个:

    parser_xpath_identificator = '//table/tbody[@id="threadbits_forum_251"]/tr'
    

    【讨论】:

    • @Jordan:感谢您的正确答案和您的评论。现在我可以看到第一个 " 双引号根本不需要......
    猜你喜欢
    • 2013-01-18
    • 2016-03-23
    • 2016-05-16
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 2010-11-26
    相关资源
    最近更新 更多