我使用ruby URI來構建一個基本的uri,而且我對某些東西感到困惑。爲什麼我不能使用鏟運算符來設置uri.query?
這裏是我的代碼:
uri = URI("https://myhost.com")
uri.path << "/myapi/endpoint"
uri.query = "p1=value1&p2=value2"
uri.to_s
=> "https://myhost.com/myapi/endpoint?p1=value1&p2=value2"
這是一切都很好,但我不明白爲什麼我可以使用<<
操作員設置uri.path
但不uri.query
?
例如,後續代碼不會設置uri.query
uri = URI("https://myhost.com")
uri.path << "/myapi/endpoint"
uri.query << "p1=value1&p2=value2"
感謝您的詳細解釋。這對我來說現在是有意義的。我想我忽略了'<<'運算符用於字符串連接的事實,所以它有意義,它不會在'nil'上工作。 – sanpaco