Да, как сказал Скотт, это возможно, но я не программист на Rails, поэтому я просто хотел скопировать и вставить код, но сначала я не знал, где разместить код, а потом он не работал.
Мне пришлось потренироваться с обрезанным и расширить его до большей гибкости, в которой я нуждался:
module Sass::Script::Functions
module USW_Random
## Create random Color
# inspired by: http://victorcoulon.fr/generating-random-color-in-sass/
#
def usw_randomColor()
Sass::Script::Color.new([rand(255), rand(255), rand(255)])
end
## Create random Number
# int max [optional] if max is not supplied a float between 0 and 1 is returned.
# if max is supplied, an Integer between 0 and max (both inclusive) will be returned.
# int min [optional] if min is supplied too, an Integer between min and max (both inclusive) will be returned.
#
def usw_random(max=-1, min=0)
Sass::Script::Number.new( max.to_i < 0 ? rand() : rand(min.to_i .. max.to_i ))
end
end
include USW_Random
end
Это можно использовать в файле SCSS следующим образом:
@debug usw_random();
@debug usw_random(10);
@debug usw_random(8, 2);
@debug usw_randomColor();
и распечатает:
xxx.scss:25 DEBUG: 0.42782
xxx.scss:26 DEBUG: 3
xxx.scss:27 DEBUG: 5
xxx.scss:28 DEBUG: #e7c00b
Я также не знал, где поставить Код для этого. Я использую SASS в рамках компаса. Вы можете поместить этот код непосредственно в файл Compass Config.rb.
Или вы помещаете его в другой файл и добавляете только эту строку в файл Compass Config.rb:
## my "own" ruby functions.
require "../SASS/RUBY/at.usw.rb"