Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby初始化_Ruby_Initialization - Fatal编程技术网

Ruby初始化

Ruby初始化,ruby,initialization,Ruby,Initialization,在下面的示例()中 def初始化(name=“World”)在做什么 @name=name在做什么?是否初始化变量name并将初始值设置为name 我没有在任何地方看到“World”的任何用法,因为我遵循了网站上的示例(更多代码),因此我对它的用法感到困惑 现在,让我们创建一个greeter对象并使用它: greeter = Greeter.new("Pat") greeter.say_hi # => Hi Pat! greeter.say_bye # => Bye Pat, com

在下面的示例()中

  • def初始化(name=“World”)在做什么
  • @name=name
    在做什么?是否初始化变量
    name
    并将初始值设置为
    name
  • 我没有在任何地方看到
    “World”
    的任何用法,因为我遵循了网站上的示例(更多代码),因此我对它的用法感到困惑

    现在,让我们创建一个greeter对象并使用它:

    greeter = Greeter.new("Pat")
    greeter.say_hi
    # => Hi Pat!
    greeter.say_bye
    # => Bye Pat, come back soon.
    

    理解像
    @name
    这样的实例变量和像
    name
    这样的局部变量之间的差异很重要。它们不一样,但很容易混淆

    初始化函数最好解释为:

    # Define an initialize method with an argument called name that has
    # a default value of "World"
    def initialize(name = "World")
      # Assign the value of the name variable, which only exists in the
      # scope of this method, to the name instance variable which exists
      # for the lifespan of this Greeter object.
      @name = name
    end
    
    实例变量是Ruby面向对象编程的主干。它们是在不同方法调用之间持久化数据的最方便的方法

    要执行默认行为,您只是无法指定
    名称
    应该是什么:

    greeter = Greeter.new
    greeter.say_hi
    

    理解像
    @name
    这样的实例变量和像
    name
    这样的局部变量之间的差异很重要。它们不一样,但很容易混淆

    初始化函数最好解释为:

    # Define an initialize method with an argument called name that has
    # a default value of "World"
    def initialize(name = "World")
      # Assign the value of the name variable, which only exists in the
      # scope of this method, to the name instance variable which exists
      # for the lifespan of this Greeter object.
      @name = name
    end
    
    实例变量是Ruby面向对象编程的主干。它们是在不同方法调用之间持久化数据的最方便的方法

    要执行默认行为,您只是无法指定
    名称
    应该是什么:

    greeter = Greeter.new
    greeter.say_hi
    
    1。def初始化(name=“World”)在做什么?

    创建新实例时,如果未传递任何参数,则
    def initialize
    将新实例的默认
    @name
    属性设置为等于
    “World”

    2。
    @name=name
    在做什么?是否初始化变量
    name
    并将初始值设置为
    name

    @name
    是一个实例变量,来自同一类的其他方法可以看到并使用它。在本例中,它采用传递给方法的
    名称
    参数。有关更多信息,请参见实例变量

    示例

    在您的示例中,
    greeter=greeter.new(“Pat”)
    ,参数被定义为
    “Pat”
    ,因此
    “World”
    的默认参数被忽略

    1。def初始化(name=“World”)在做什么?

    创建新实例时,如果未传递任何参数,则
    def initialize
    将新实例的默认
    @name
    属性设置为等于
    “World”

    2。
    @name=name
    在做什么?是否初始化变量
    name
    并将初始值设置为
    name

    @name
    是一个实例变量,来自同一类的其他方法可以看到并使用它。在本例中,它采用传递给方法的
    名称
    参数。有关更多信息,请参见实例变量

    示例

    在您的示例中,
    greeter=greeter.new(“Pat”)
    ,参数被定义为
    “Pat”
    ,因此
    “World”
    的默认参数被忽略