How to check whether a number is perfect number or not in a list of integers using scala higher order function

your saying write code as -

object ListMapHigherOrder{
def main(args:Array[String])
{

val intRes = args.toList
val intList: List[Int] = intRes.map(_.toInt).toList

def isPerfectNumber(input: Int) :String =
{
val check_sum = ( (2 to math.sqrt(input).toInt).collect { case x if input % x == 0 => x + input / x} ).sum
if ( check_sum == input - 1 )
return “true”
else
return “false”
}

def myHigherOrderFunction(argFn: Int => String, argVal:List[Int]): List[String] = { argVal.map(argFn) }

println(myHigherOrderFunction(isPerfectNumber, intList))

}
}

how to omit return

Final code is

object ListMapHigherOrder{
def main(args:Array[String]) = {

val intList: List[Int] = args.map(_.toInt).toList

def isPerfectNumber(input: Int) :String  = {
  val check_sum = ( (2 until input).collect  { case x if input % x == 0 => x }  ).sum
  if (input <= 1) "false"
  else if ( check_sum == input - 1 ) "true"
  else "false"
}

def myHigherOrderFunction(argFn: Int => String, argVal:List[Int]): List[String] = { argVal.map(argFn) }

println(myHigherOrderFunction(isPerfectNumber, intList))

}
}

So I have the following code but I keep getting these errors.
I tried running the function without parameters to see if that would work but it requires parameters.
object Result {

/*

 * Complete the 'mapHigherOrder' function below.

 *

 * The function accepts INTEGER_ARRAY args as parameter.

 */

def mapHigherOrder(args: Array[Int]) {

val intRes = args.toList

val intList: List[Int] = intRes.map(_.toInt).toList

//val intList: List[Int] = args.map(_.toInt).toList // Put your code here

def isPerfectNumber(input: Int) :Boolean  = {

// Put your code here

val check_sum = ( (2 until input).collect  { case x if input % x == 0 => x }  ).sum

if (input <= 1) {

    false

}

else if ( check_sum == input - 1 ) {

    true

}

else{

false

}

}

}

def myHigherOrderFunction(argFn: Int => String, argVal:List[Int]): List[String] =

{ argVal.map(argFn) }

println(myHigherOrderFunction(isPerfectNumber, intList))

}

Solution.scala:52: error: not found: value isPerfectNumber
println(myHigherOrderFunction(isPerfectNumber, intList))
^
Solution.scala:52: error: not found: value intList
println(myHigherOrderFunction(isPerfectNumber, intList))

You’ve nested isPerfectNumber and intList inside mapHigherOrder, so that means they aren’t visible from outside, hence the errors.