首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby koans triangle.rb需要错误

Ruby koans triangle.rb需要错误
EN

Stack Overflow用户
提问于 2011-09-11 00:33:50
回答 3查看 584关注 0票数 1

我正在做Ruby Koans教程,使用notepad++。

about_triangle_project.rb似乎无法加载triangle.rb文件。

代码语言:javascript
复制
no such file to load -- triangle.rb <LoadError>
from <internal:lib/rubygems/custom_require>:29:in 'require'
from about_triangle_project.rb:4: in '<main>'

但是,我不认为我已经修改了这些文件。(我试图修复它,但总是在它们不起作用时取消它们)……下面是about_triangle_project.rb中的代码

代码语言:javascript
复制
require File.expand_path(File.dirname(__FILE__) + '/edgecase')

require 'triangle.rb' # this is line 4

class AboutTriangleProject < EdgeCase::Koan
  def test_equilateral_triangles_have_equal_sides
    assert_equal :equilateral, triangle(2, 2, 2)
    assert_equal :equilateral, triangle(10, 10, 10)
  end
(etc)

我试着要求‘三角形’,那不起作用。我尝试使用绝对路径名,但不起作用。

triangle.rb文件在相同的目录中,未经修改,带有注释和以下内容:

代码语言:javascript
复制
def triangle(a,b,c)
end
class TriangleError < StandardError
end

triangle.rb文件确实存在于同一目录中,为什么找不到?我希望我没有遗漏一些显而易见的东西!

EN

回答 3

Stack Overflow用户

发布于 2011-10-30 19:35:42

在Windows上,将当前目录添加到加载路径似乎并不能正常工作。用require 'triangle.rb'代替require_relative 'triangle.rb'应该是可行的,但这有点麻烦。我不使用Windows,所以我不确定正确的解决方案是什么。

票数 1
EN

Stack Overflow用户

发布于 2014-05-28 03:02:19

我肯定会考虑获得一个Sublime文本编辑器的版本,它让事情变得更加清晰,而且你实际上可以在其中打开文件夹。

看起来你的路径是错误的,我会说确保你代码中triangle.rb的地址是正确的。

我的看起来更像这样

neo需要File.expand_path(File.dirname(FILE) +‘/

’)

#您需要在文件'triangle.rb‘中编写三角形方法

需要‘./三角形’

票数 0
EN

Stack Overflow用户

发布于 2021-09-01 13:07:52

我现在正在跟Koans一起学习ruby,也发现了这个问题。

所以在我们身上发生的事情是,运行代码的当前工作目录(cwd)会影响ruby的require方法。例如,您需要使用cd .\.ruby\koans\将cwd所在的位置更改为所有koan的文件夹。或者,正如Ben Langfeld回答的那样,require_relative 'triangle'是一个很好且简单的替代方案。

要了解更多信息,我建议查看这个What is the difference between require_relative and require in Ruby?线程。我从中得到的结论是,require更适合用于已安装的gem和库,而require_relative更适合于您编写的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7373067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档