Left truncate Scala function - list from integer -
i totally new in scala, me simple function - input parameter integer, function should return list of integers first entry input integer , , rest gotten omitting left digit 1 one. example,
if input 0, returns list(0), input =5678 returns list(5678,678,78,8).
def lefttrunc(input:int):list[int] thanks lot in advance
5678.tostring.tails.tolist.init.map(_.toint) //> res0: list[int] = list(5678, 678, 78, 8) convert number string. tails want. except it's iterator, convert list, , has empty string @ end, use init return last element. they're strings, use map convert them int again
but i'm pretty sure instructor expecting numerically :)
here's numerical version, in case deliberately uncommented can work out how works
val n = 5678 val digits = n.tostring.size list.iterate(10, digits)(10*) map { n % _} edit: requested in comment, other way around uses inits instead of tails (and reverse requested ordering)
5678.tostring.inits.tolist.init.reverse.map(_.toint) //> res0: list[int] = list(5, 56, 567, 5678) and numerical 1 easier way around
list.iterate(n, digits)(_/10).reverse
Comments
Post a Comment