zoukankan      html  css  js  c++  java
  • ruby学习--block

     1 #当前块
     2 class Block
     3     def a_method
     4         return yield if block_given?
     5         'no block'
     6     end
     7 end
     8 obj=Block.new
     9 puts "#{obj.a_method}"
    10 puts "#{obj.a_method {"here's a block!"}}"
     1 #闭包
     2 class Greeter
     3     def initialize(name)
     4         @name=name
     5     end
     6     def name
     7         @name
     8     end
     9     def name=(new_name)
    10         @name=new_name
    11     end
    12 end
    13 g=Greeter.new("Barney")
    14 puts g.name     
    15 g.name="Betty"
    16 puts g.name       
     1 #切换作用域
     2 v1=1
     3 class MyClass
     4     v2=2
     5     local_variables                    
     6     #puts "#{local_variables}"       #[:v2]  
     7     def my_method
     8         v3=3
     9         local_variables
    10         #puts "#{local_variables}"    #[:v3]
    11     end
    12     local_variables
    13     #puts "#{local_variables}"        #[:v2]
    14 
    15 end
    16 obj=MyClass.new
    17 obj.my_method                        #[:v3]
    18 puts "#{local_variables}"            #[:v1, :obj]
  • 相关阅读:
    apio2018题解
    ynoi2018
    hdu2036
    Morley's Theorem
    计算几何
    luogu1355 神秘大三角
    poj2398
    洛谷---小L和小K的NOIP考后放松赛
    LibreOJ β Round #7
    python3
  • 原文地址:https://www.cnblogs.com/yizihan/p/3940051.html
Copyright © 2011-2022 走看看