新手问题 require 问题,网上没有 windows 的解决方法

chao · 2012年08月19日 · 最后由 chao 回复于 2012年08月20日 · 3387 次阅读

我想在一个文件中引用另一个文件中定义的函数 程序 hello.rb def hello print("hello,Ruby.\n") end

程序 use_hello.rb require "hello" hello()

运行 use_hello.rb 却提示

ruby use_hello.rb D:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': cannot load such file -- hello (LoadError) from D:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' from use_hello.rb:1:in `' Exit code: 1 这是为什么呢? 我在网上找到的都是 ubuntu 下的解决方法。我照着它的解决方法可是在 Ruby 目录下没有找到相同的目录和文件

我直接用 RailsInstaller 应该说所有东西都打包安装好了啊

难道真的到 linux 环境下学习?

我知道了 原来是路径问题在 use_hello.rb 中的第一行改为 require“#{File.dirname(FILE)}/hello”

按道理 两个文件在同一个目录应该可以直接 require "hello" 是不是 hello.rb 所在路径中有带空格的文件夹名称导致的。或者中文名称。 Mac 下是没有问题的

#3 楼 @zmbacker 是放在一个路径的 也没有空格 我也不知道为什么 我是 windows 下

原来也是在 windows 下写 Rails,后来感觉版本太落后了,没办法,只能硬着头皮装 linux。开始时是很不习惯,还经常换回去 windows。不过当我使用 git rvm vim 等等吧,好多教程都是都是在 linux 下的。 我有时也纳闷,windows 下的好多软件都挺好用。尤其是 Sublime text 和 搜狗输入法。在 linux 下真找不到类似好用的软件。不过程序员属于那种爱折腾的。现在我也被 linux 打败了。而且原来我有很严重的强迫症。现在被 linux 治好了。好多软件真的不是那么完美。 linux 属于服务器系统。命令行是 linux 的强项。windows 的命令行弱爆了。windows 的办公软件是强项。linux 上的不行。 没办法,谁让我们选择了这个职业呢!!!

require_relative 这个不是 windows 的问题吧。。。

可以试试require './hello'

require_relative 可以哦

需要 登录 后方可回复, 如果你还没有账号请 注册新账号