0

我是一个完整的 ruby​​ 新手,正在尝试了解更多模块化比例库https://github.com/scottkellum/modular-scale

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

>> 需要“模块化规模”
=> 真
>> 模块
模块  
>> 模块化规模(2)
NameError: main:Object 的未定义局部变量或方法“模块化”
    来自 (irb):2
>> 模块化秤(2)
NoMethodError:主对象的未定义方法“modularScale”:对象
    来自 (irb):3
>> $比率
=> 无
>> 金色()
NoMethodError:main:Object 的未定义方法“golden”
    来自 (irb):5

我意识到它是一个指南针插件,但最好在 irb 上运行它的一些功能。我对指南针插件的编写和测试比对模块化规模本身更感兴趣。我选择了图书馆,因为我认为它看起来比其他图书馆更直接。

任何帮助,将不胜感激

更新

https://github.com/scottkellum/modular-scale/blob/master/lib/modular-scale.rb 它提供了我认为可以从 irb 调用的函数

>> bar = Sass::Script::Number.new(12) ;; 这有效
=> 12

>> bar = Sass::Script::Functions.major_tenth() ;; 我认为这可能有效,但它没有
NoMethodError:Sass::Script::Functions:Module 的未定义方法“major_tenth”
    来自 (irb):9
4

1 回答 1

3
class SassPlay
  include Sass::Script::Functions
end

SassPlay.new.double_octave
=> 4

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

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

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

https://github.com/scottkellum/modular-scale/blob/master/stylesheets/_modular-scale.scss

于 2013-01-15T11:16:08.327 回答