代码之家  ›  专栏  ›  技术社区  ›  Matthieu Raynaud de Fitte

Crystal-方法指针

  •  1
  • Matthieu Raynaud de Fitte  · 技术社区  · 9 年前

    可以在Crystal中使用方法指针吗?

    1 回复  |  直到 9 年前
        1
  •  5
  •   DeepSpace    9 年前

    这是什么 Proc 用于。

    def foo()
      puts "foo"
    end
    
    def bar()
      puts "bar"
    end
    
    procs = {->foo, ->bar}
    
    procs.each do |p|
      p.call
    end
    

    foo
    bar
    

    请参阅联机: https://play.crystal-lang.org/#/r/2vb7

    它也适用于方法和静态方法:

    class A
      def self.foo()
        puts "A.foo"
      end
    
      def bar()
        puts "bar"
      end
    end
    
    proc = ->A.foo
    
    puts proc
    proc.call
    
    a = A.new
    
    proc = ->a.bar
    proc.call
    


    在官方文件中阅读更多内容: https://crystal-lang.org/docs/syntax_and_semantics/literals/proc.html