Generar e intercambiar pares clave-valor en un hash

Crea una función que reciba:

  1. Un arreglo de claves.
  2. Un arreglo de valores (del mismo tamaño).
  3. true, si se deben intercambiar la clave y el valor; de lo contrario, false.

La función devuelve el hash construido. Los arreglos vacíos devuelven un hash vacío.

Ejemplos

swap_h([1, 2, 3], ["one", "two", "three"], false)
➞ { 1 => "one", 2 => "two", 3 => "three" }

swap_h([1, 2, 3], ["one", "two", "three"], true)
➞ { "one" => 1, "two" => 2, "three" => 3 }

swap_h(["Paris", 3, 4.5], ["France", "is odd", "is half of 9"], true)
➞ { "France" => "Paris", "is odd" => 3, "is half of 9" => 4.5 }

Notas

  • Para simplificar, usa únicamente claves hashables (= inmutables).
  • Para simplificar, usa únicamente claves únicas.