zoukankan      html  css  js  c++  java
  • ruby的require路径问题

    ruby1.9删除当前目录功能,require "Action.rb"不行、

    用下面2种方式:

    require_relative "trig.rb"  .rb可以省略,虽然首字母大小写都可以,但用大写。
    require ".Action.rb"


    module中的实例变量因为不可以创建对象实例,但有一个非常有用的作用,即通过模块使用叫做混合插入(mixin)的机制实现了多重继承。
    Ruby的include语句只是创建了一个指向一个有名字的模块的引用,如果这个模块在一个独立的文件中,那么你必须先用require将这个文件引入,然后才能使用include。第二,Ruby的include不是简单的将模块的实例方法拷贝到类里面,而是建立一个从类到模块的引用。如果很多个类都包含了同一个模块,它们都指向同一样东西。如果你修改了模块中一个方法的定义,即使你的程序还在运行之中,你的类也能使用新的方法的行为[ 注意,我们这里说的是实例方法,实例变量永远都是每个对象都有一份拷贝]
    require_relative  "Trig.rb"
    class Test1
     include Trig
    end
    t=Test1.new.instance

    module Trig
      @af=1234
      PI=3.14159
      def instance
        puts "模块的实例方法"
      end
      def Trig.sin(x)
        puts "trig的sin方法"
      end
      def Trig.cos(x)
        puts "trig的cos方法"
      end
    end
    
    class Test1
     include Trig
    end
    t=Test1.new.instance
  • 相关阅读:
    Hadoop Gateway 部署
    java 命令--备忘
    整理下常用硬件性能参数
    python 脚本备份 mysql 数据库到 OSS
    pip 更换国内源
    记录闭包和立即执行函数
    Django 中文乱码问题&富文本显示
    mysql exceeded the 'max_questions' resource 记录
    sql server 数据字典的妙用
    Sublime Text指南
  • 原文地址:https://www.cnblogs.com/fpcbk/p/10819559.html
Copyright © 2011-2022 走看看