问题描述
你如何为 ruby 编写模块.在python中你可以使用
How do you write a module for ruby.in python you can use
# module.py
def helloworld(name):
print "Hello, %s" % name
# main.py
import module
module.helloworld("Jim")
回到问题,如何在 ruby 中/为 ruby 创建模块
Back to the Question how do you create a module in/for ruby
推荐答案
Ruby 中的模块与 Python 中的模块具有不同的用途.通常,您使用模块来定义可以包含在其他类定义中的通用方法.
Modules in Ruby have different purpose than modules in Python. Typically you use modules to define common methods that could be included in other class definition.
但是 Ruby 中的模块也可以以与 Python 中类似的方式使用,只是为了将某些命名空间中的方法分组.因此,您在 Ruby 中的示例将是(我将模块命名为 Module1,因为 Module 是标准的 Ruby 常量):
But modules in Ruby could also be used in similar way as in Python just to group methods in some namespace. So your example in Ruby would be (I name module as Module1 as Module is standard Ruby constant):
# module1.rb
module Module1
def self.helloworld(name)
puts "Hello, #{name}"
end
end
# main.rb
require "./module1"
Module1.helloworld("Jim")
但是如果您想了解 Ruby 的基础知识,我建议您从一些快速开始Ruby 指南 - StackOverflow 不是学习新编程语言基础知识的最佳方式 :)
But if you want to understand the basics of Ruby I would recommend to start with some quick guide to Ruby - StackOverflow is not the best way how to learn basics of new programming language :)
编辑
从 1.9 开始,本地路径不再在 $SEARCH_PATH 中.要从本地文件夹重新获取文件,您需要 require ./FILE
或 require_relative FILE
这篇关于为 Ruby 编写模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!