1. Куча / Говнокод #26629

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    import sequtils
    
    when not declared(unzip):
      proc unzip*[S, T](s: openArray[(S, T)]): (seq[S], seq[T]) =
        result[0] = newSeq[S](s.len)
        result[1] = newSeq[T](s.len)
        for i in 0..<s.len:
          result[0][i] = s[i][0]
          result[1][i] = s[i][1]
    
    let a = @[('a', 1), ('b', 2), ('c', 3)]
    let b = unzip(a) # version 1.0 will use the proc declared above
                     # version 1.2 will use sequtils' proc
    
    assert b == (@['a', 'b', 'c'], @[1, 2, 3])

    Если в библиотеке нет нужного метода, вы можете написать его сами и кинуть в сторону своих пользователей.

    Запостил: Desktop, 01 Мая 2020

    Комментарии (9) RSS

    • #seo

      https://nim-lang.org/blog/2020/04/03/version-120-released.html
      Ответить
    • калька пхп на околопитоновом синтаксисе, мсье знает
      Ответить
      • Разве в «PHP» можно описывать тип массива в аргументе функции?
        Ответить
        • https://www.php.net/manual/en/functions.arguments.php#functions.argume nts.type-declaration
          Ответить
          • Допустим, хинты типов в «PHP» появились. А типизированные массивы? Насколько я знаю, в «PHP» можно указать просто «array» без уточнения, он проглотит любой ассоциативный массив.
            Ответить
        • в пхп можно встретить if (!function_exists()) в каждом первом проекте
          Ответить
      • Эт я случайно новость встретил про недавний релиз.

        Баловался с этим язычком года два назад, у меня компилятор падал на несложном коде с дженериками. Это всё, что надо знать про него.
        Ответить

    Добавить комментарий