Ruby 如何使用';模块化比例';来自irb的红宝石?

Ruby 如何使用';模块化比例';来自irb的红宝石?,ruby,sass,compass-sass,Ruby,Sass,Compass Sass,我是一个完全的ruby新手,正在尝试了解更多的模块化规模库 我希望测试irb中的一些功能,以下是我的结果: >> require 'modular-scale' => true >> module module >> modular-scale(2) NameError: undefined local variable or method `modular' for main:Object from (irb):2 >> modularScale(2) NoMethodError:

我是一个完全的ruby新手,正在尝试了解更多的模块化规模库

我希望测试irb中的一些功能,以下是我的结果:

>> require 'modular-scale' => true >> module module >> modular-scale(2) NameError: undefined local variable or method `modular' for main:Object from (irb):2 >> modularScale(2) NoMethodError: undefined method `modularScale' for main:Object from (irb):3 >> $ratio => nil >> golden() NoMethodError: undefined method `golden' for main:Object from (irb):5 >>需要“模块化规模” =>正确 >>模块 模块 >>模数比例尺(2) NameError:未定义的局部变量或main:对象的“modular”方法 来自(irb):2 >>模数刻度(2) NoMethodError:main:对象的未定义方法“modularScale” 来自(irb):3 >>美元比率 =>零 >>黄金() NoMethodError:main:对象的未定义方法“golden” 来自(irb):5 我意识到它是一个compass插件,但是在irb上运行它的一些功能会很好。我对compass插件的编写和测试比对模块规模本身更感兴趣。我选择图书馆是因为我觉得它比其他图书馆看起来更直截了当

任何帮助都将不胜感激

更新 在 它提供了我认为可以从irb调用的函数

>> bar = Sass::Script::Number.new(12) ;; This works => 12 >> bar = Sass::Script::Functions.major_tenth() ;; I thought this might work but it doesn't NoMethodError: undefined method `major_tenth' for Sass::Script::Functions:Module from (irb):9 >>bar=Sass::Script::Number.new(12);;这很有效 => 12 >>bar=Sass::Script::Functions.major_tenth();;我想这可能行得通,但不行 NoMethodError:Sass的未定义方法“major_tenth::Script::Functions:Module 来自(irb):9 方法
modular-scale()
是a,您不能从
irb
调用它。它是一个由Sass解析和执行的样式表函数,而不是由
irb
解析和执行

Sass是一种解释语言。它与ruby方法没有一对一的关系,因此您不能直接从ruby或irb访问Sass的所有功能

您可以在此处查看定义
modular-scale()

方法
modular-scale()
是a,您不能从
irb
调用它。它是一个由Sass解析和执行的样式表函数,而不是由
irb
解析和执行

Sass是一种解释语言。它与ruby方法没有一对一的关系,因此您不能直接从ruby或irb访问Sass的所有功能

您可以在此处查看定义
modular-scale()


它用于SASS样式表,不是来自
irb
。是的,我建议您在没有完整rails应用程序的情况下,使用SASS运行类似的东西。如果Compass已经涉及到了,为什么您需要middleman?@zcaudate我认为您不可能找到什么,因为SASS函数不是Ruby函数。Sass只是一种用Ruby编写的脚本语言。如果要测试Sass函数的输出,请尝试执行
@debug
指令。这些函数将由Sass而不是IRB使用。Sass函数可能使用Ruby编写有两个原因:Sass无法实现该功能(例如,将图像写入文件系统),或者该函数不需要包含任何文件(例如,所有Compass helper函数)就可以访问。它用于Sass样式表,不是来自
irb
。是的,我建议您在没有完整rails应用程序的情况下,使用SASS运行类似的东西。如果Compass已经涉及到了,为什么您需要middleman?@zcaudate我认为您不可能找到什么,因为SASS函数不是Ruby函数。Sass只是一种用Ruby编写的脚本语言。如果要测试Sass函数的输出,请尝试执行
@debug
指令。这些函数将由Sass而不是IRB使用。可以用Ruby编写Sass函数有两个原因:Sass无法实现该功能(例如,将图像写入文件系统),或者该函数应该可以在不包含任何文件的情况下访问(例如,所有Compass helper函数)。
class SassPlay
  include Sass::Script::Functions
end

SassPlay.new.double_octave
=> 4