ruby-on-rails - Java 中 "this"函数的 Ruby 等价物是什么?

标签 ruby-on-rails ruby

在Java中有一个指向它的方法的“this”函数。 Ruby 中是否有等效项?例如,有没有:

def method
  this.method
end

最佳答案

等同于self。这也是隐含的。因此,self.first_name 与类中的 first_name 相同,除非您正在进行分配。

class Book
  attr_reader :first_name, :last_name

  def full_name
     # this is the same as self.first_name + ", " + self.last_name
    first_name + ", " + last_name
  end
end

在进行赋值时,您需要显式地使用 self,因为 Ruby 无法知道您是在分配名为 first_name 的局部变量,还是在分配给 instance .first_name.

class Book    
  def foo
    self.first_name = "Bar"
  end
end

关于ruby-on-rails - Java 中 "this"函数的 Ruby 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17709042/

相关文章:

ruby - 与 Ruby 并行赋值

ruby-on-rails - 参数错误: Missing :controller key on routes definition

数组中的 Ruby map 方法

ruby-on-rails - 在 Heroku 上运行 Ruby/Rails 应用程序的浏览器没有 "Destroy"确认

ruby-on-rails - 在插件中别名 activerecord 方法

javascript - 在 ROR 中加载 AJAX 后,如何使页面跳转到顶部?

arrays - 修改 Ruby 方法以将整数分区表示为有序字符串(不展平?)

ruby-on-rails - 如何在 ruby​​ on Rails 中显示除当前用户和 current_user 的 friend 之外的所有用户

ruby-on-rails - 如何在错误页面(404、500 ...)上使用图像?

ruby-on-rails - Capybara::ElementNotFound 的所有规范仅在 Travis 上