Ruby中File.load和File.read的区别

Ruby中File.load和File.read的区别,ruby,sass,Ruby,Sass,我试图遵循Sass->CSS转换器的代码 当我尝试File.load SyntaxError in PublishController#index /Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:1: target of repeat operator is not specified: /* http:/ /Users/jkim/rails/support-rhapsody/app/asse

我试图遵循Sass->CSS转换器的代码

当我尝试
File.load

SyntaxError in PublishController#index

/Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:1: target of repeat operator is not specified: /* http:/
/Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:2: no .<digit> floating literal anymore; put 0 before dot
   v2.0 | 20110126
      ^
/Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:2: syntax error, unexpected tINTEGER
   v2.0 | 20110126
       ^
/Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:3: syntax error, unexpected ':', expecting $end
   License: none (public domain) */

File.read和File.load之间有什么区别?如果您知道如何在Sass中解决这个问题,那就更好了。

在Ruby内核方法中,
#load
意味着将加载的文本作为代码进行评估,这看起来就像是在这里完成的一样<代码>文件。读取将文本作为字符串加载

来自
sass::Engine.new的sass文档

创建一个新引擎。请注意,仅当编译内存中的Sass代码时,才应直接使用引擎。如果要从文件系统编译单个Sass文件,请使用Sass::Engine.for_文件。如果要从文件系统编译多个文件,请使用Sass::Plugin


那么就这样做。

您是否尝试了
ri文件。加载
ri文件。读取
?这两种方法有非常不同的用途。
ri File.load
gets
NoMethodError:private方法
load'为File:Class
调用。和
ri File.read`gets
ArgumentError:参数数目错误(0代表1..4)
您不应该在IRB提示符中键入
ri
。它是一个单独的shell命令,为您提供rdoc信息。
SyntaxError in PublishController#index

/Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:1: target of repeat operator is not specified: /* http:/
/Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:2: no .<digit> floating literal anymore; put 0 before dot
   v2.0 | 20110126
      ^
/Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:2: syntax error, unexpected tINTEGER
   v2.0 | 20110126
       ^
/Users/jkim/rails/support-rhapsody/app/assets/stylesheets/application.sass:3: syntax error, unexpected ':', expecting $end
   License: none (public domain) */
NoMethodError in PublishController#index

undefined method `[]' for nil:NilClass