Что лучший способ состоит в том, чтобы прервать строку в блоки данной длины в Ruby?

Блок, который вы передаете halogenRunAff, является блоком Aff, поэтому каждая строка в нем должна быть Aff. Но liftEff возвращает Eff вместо этого. Так что есть несоответствие.

Это то, что говорит вам компилятор: «не может сравниться с Eff с Aff».

Чтобы исправить это, замените liftEff на liftAff:

documenttarget <- liftAff $ window >>= document <#> DHT.htmlDocumentToEventTarget 
85
задан android.weasel 11 June 2019 в 10:32
поделиться

3 ответа

Использовать Сканирование строки # :

>> 'abcdefghijklmnopqrstuvwxyz'.scan(/.{4}/)
=> ["abcd", "efgh", "ijkl", "mnop", "qrst", "uvwx"]
>> 'abcdefghijklmnopqrstuvwxyz'.scan(/.{1,4}/)
=> ["abcd", "efgh", "ijkl", "mnop", "qrst", "uvwx", "yz"]
>> 'abcdefghijklmnopqrstuvwxyz'.scan(/.{1,3}/)
=> ["abc", "def", "ghi", "jkl", "mno", "pqr", "stu", "vwx", "yz"]
152
ответ дан Jeremy Ruten 24 November 2019 в 08:16
поделиться
test.split(/(...)/).reject {|v| v.empty?}

Отклонение необходимо, поскольку в противном случае оно содержит пробел между наборами. Мой regex-fu не совсем понимает, как исправить это прямо на моей голове.

1
ответ дан Chuck 24 November 2019 в 08:16
поделиться

Есть ли у вас какие-то другие ограничения? В противном случае я бы ужасно соблазнился сделать что-то простое, например

[0..10].each {
   str[(i*w),w]
}
0
ответ дан Charlie Martin 24 November 2019 в 08:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: