Как конвертировать JavaScript в CoffeeScript для двух случаев - PullRequest
0 голосов
/ 17 января 2012

Я использую CoffeeScript в приложении Rails. Как конвертировать JavaScript в CoffeeScript для двух случаев:

var colIndex = 0,
    colRight = 0,
    cols = this.grid.columnX,
    len = cols.length,
    cmatch = false;

for (len; colIndex < len; colIndex++) {
    colRight = cols[colIndex].x + cols[colIndex].w;
    if (xy[0] < colRight) {
        cmatch = true;
    break;
    }
}

и

setTimeout(function() {
    d.scrollTop = st;
}, 10);

Заранее благодарю за помощь!

Ответы [ 3 ]

1 голос
/ 17 января 2012

1.CoffeeScript поддерживает итерацию for in в массиве, поэтому вам просто не нужны colIndex и len.

colRight = 0
cols = @grid.columnX
cmatch = false

for col in cols
  colRight = col.x + col.w
  if xy[0] < colRight
    cmatch = true
    break

2

setTimeout (-> d.scrollTop = st), 10
0 голосов
/ 19 января 2012

Вот мой укол:

for col, idx in @grid.columnX when xy[0] < colRight = (col.x + col.w)
  cmatch = idx
  break

Так что после цикла cmatch будет либо неопределенным, либо индексом совпадения, в то время как colRight будет правой стороной совпадающего столбца или правом последнего столбца.сторона, если совпадений не найдено.

Вот скрипка для игры: http://jsfiddle.net/fNSXE/1/

0 голосов
/ 18 января 2012

есть сайт для этой работы js2coffee :

ответы:

1

colIndex = 0
colRight = 0
cols = @grid.columnX
len = cols.length
cmatch = false
len
while colIndex < len
  colRight = cols[colIndex].x + cols[colIndex].w
  if xy[0] < colRight
    cmatch = true
    break
  colIndex++

2

setTimeout (->
  d.scrollTop = st
), 10
...