петля для значения Stylus

я хочу это

long_shadow()
    text-shadow: 1px 1px, 2px 2px, 3px 3px, 4px 4px, 5px 5px, ... ,Npx Npx

я пробовал это

calculate_shadow()
    $shadows = ''
    for i in 1..6
        $shadows += '%spx %spx, ' % (i i)
    $shadows += '0px 0px'

long_shadow()
    text-shadow: {calculate_shadow_base()}

Но это напечатает всю процедуру конкатенации строк

тогда это

calculate_shadow()
    $shadows = ''
    for i in 1..6
        $shadows += '%spx %spx, ' % (i i)
    $shadows += '0px 0px'

long_shadow()
    text-shadow: calculate_shadow_base()

Он будет печатать

text-shadow: '1px 1px, 2px 2px, 3px 3px, 4px 4px, 5px 5px'

Как убрать Цитату?


person qdwang    schedule 12.08.2013    source источник


Ответы (1)


Просто удалите {} вокруг вызова функции, это для интерполяции:

calculate_shadow()
    $shadows = ''
    for i in 1..6
        $shadows += '%spx %spx, ' % (i i)
    $shadows + '0px 0px'

long_shadow()
    text-shadow: unquote(calculate_shadow())

body
    long_shadow()   
person Ven    schedule 13.08.2013
comment
Я пробовал это, но значение отображается как String. Он будет напечатан как тень текста: «1px 1px, 2px 2px». Это вообще не сработает. Мне нужно удалить ЦИТАТУ - person qdwang; 14.08.2013
comment
Попробуйте вызвать для него unquote(). - person Ven; 14.08.2013