首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby变量=变量

Ruby变量=变量
EN

Stack Overflow用户
提问于 2018-07-28 06:35:30
回答 3查看 86关注 0票数 0

我正在参加一个训练营课程,我知道不一定需要第4行(zip_code = zip_code),但有人告诉我它很有用,原因很简单,但我不确定那是什么。有人知道为什么吗?非常感谢。

代码语言:javascript
复制
class AdoptADog::Scraper
  def self.scrape_dogs(zip_code)
    base_url = "https://www.petsmartcharities.org/find-a-pet-results?city_or_zip="
    zip_code = zip_code
    last_url = "&species=dog&color_id&geo_range=50&pet_size_range_id&sex&age=&breed_id=69"
    full_url = base_url + zip_code + last_url

    html = open(full_url)
    doc = Nokogiri::HTML(html)

    doc.css(".pet-result").each do |dog|
      name = dog.css(".pet-name").text
      breed = dog.css(".pet-breed").text
      sex = dog.css(".pet-sex").text
      location = dog.css(".pet-addr-city-state").text
      url = dog.css("a").attribute("href").value

      AdoptADog::Dogs.new(name, breed, sex, location, url)
    end
  end
end
EN

回答 3

Stack Overflow用户

发布于 2018-07-28 07:20:53

不,最初的前提是它是有用的,这是不正确的。

这没有功能上的原因,我甚至反对这种松散的理由,认为它“增加了可读性”。

这在每种语言中都是非常糟糕的做法。

这样做的一个也是唯一可能的原因是向刚刚开始学习编程核心基础的人演示变量。然而,即使这也是一个糟糕的例子,因为它可能被误解为良好的实践,而实际上它肯定不是,而且有更好的方法来说明这一点,而不会有任何误解的风险。

票数 2
EN

Stack Overflow用户

发布于 2018-07-29 09:54:53

也许是zip_code = zip_code.dup ?,你不应该改变你的函数中传递的参数。

票数 1
EN

Stack Overflow用户

发布于 2018-07-29 19:34:12

会不会是你错过了.dup.clone

如果你使用可变对象,而又不想弄乱原来的对象,something = something.dup会很有用。

无论如何,如果你被告知出于某种原因它是有用的,为什么你不直接要求那个人详细说明呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51566358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档