ruby 基本概念 作用域 方法的caller 和method

# 1. 作用域


while true do
end

while do ... end,   scope
def ... end   scope
class .. end   scope

在并列作用于的不同方法中,可以定义同样的变量名称

def say_hi1
  a = 1 
  puts a
end

def say_hi2
  a = 3 
  puts a
end

# 在嵌套的作用域中, 变量是无法定义同名的
#
def say_3

  name = "lilei"   # 定义了一个变量name

  for i in (1..10)
    name = "lili"  # 对 外层的作用于的变量,做修改。而不是定义了一个新的变量
    puts name
  end 

  puts name   #  这里显示的是被修改后的变量的内容
end

#
# 2.方法的caller 和method
#

任何方法的调用,都有一个caller 和一个method.

a = "string"
a.reverse()   # a 就是caller,  reverse()就是method
a = "string"
a.reverse()   # a 就是caller,  reverse()就是method

class Apple
  def color
    return "red"
  end
end

apple = Apple.new    #  Apple 就是 callker,   new 就是method

apple.color # => 'red'  apple 就是caller, color 就是method

a = 1
b = 2
a + b    a.+(b)  #  caller: a,  method: + , b : argument / parameter 参数
c = 3     # caller:  c ,  method:  = , 3 : argument

puts "aaaa"  # caller: 是当前环境的主线程, main , 是隐藏的。 puts: method,  "aaaa" : argument

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值