La primer forma que intentas tiene un problema: flujo.
¿Si sabes que el código se ejecuta de arriba hacia abajo verdad?
Entonces no esperes ejecutar una función lineas antes de definirla, ¿o no te parece absurdo?
Piensa bien lo que estás haciendo, lo único que debes cambiar es el orden del código: primero defines la función y luego la ejecutas,
¡no al revés!