Fable: Problema de valor de opción

Creado en 24 oct. 2017  ·  3Comentarios  ·  Fuente: fable-compiler/Fable

Probablemente sea un caso de esquina, pero está rompiendo la respuesta:

module App

let test xss =
    let f xss = xss |> List.choose (function Some a -> Some a | _ -> None)
    xss |> f |> List.collect (fun xs -> [ for s in xs do yield s ])

[<EntryPoint>]
let main argv =
    let res = test [ Some [ "a" ] ]
    printfn "res: %A" res
    0

Error de tiempo de ejecución:

Seq.js:470
  }, xs[Symbol.iterator]()));
                        ^

TypeError: xs[Symbol.iterator] is not a function

Básicamente, el problema es que xs no tiene el valor correcto, el valor correcto está en la propiedad xs.value .

Comentario más útil

@alfonsogarciacaro Hurra, eso realmente funcionó, la réplica está operativa nuevamente. ¡Gracias!

Todos 3 comentarios

Maldita sea, el cambio con Opciones está afectando a más lugares de lo esperado, como sucedió con la optimización no cursada. Veamos si no tenemos muchas más sorpresas ... espero no presentar demasiados comportamientos excepcionales en Fable 🙏

¡Gracias por informarnos y por el código para reproducir el problema como siempre @ncave!

@alfonsogarciacaro Está haciendo del mundo un lugar mejor (más excepcional). ¡Gracias!

@alfonsogarciacaro Hurra, eso realmente funcionó, la réplica está operativa nuevamente. ¡Gracias!

¿Fue útil esta página
0 / 5 - 0 calificaciones