Mostrando postagens com marcador placehoder. Mostrar todas as postagens
Mostrando postagens com marcador placehoder. Mostrar todas as postagens

quinta-feira, 10 de setembro de 2009

Eliminando ifs encadeados com scala.

Estava lendo o seguinte post do meu amigo eliezer sobre eliminar if encadeados e pensei: Como seria um código para resolver esse problema em Scala.

Utilizando firstClass functions e placehoder syntax criei o seguinte código:

object StringUtils {                                                   
  def format( action: String => String, value: String ) = action(value)
  def removeBlanks = { (_:String).replaceAll( " ", "") }                       
  def onlyNumbers = { (_:String).replaceAll( "\\D", "" ) }             
}

Dá pra ver que o código fica bem mais enxuto e a responsabilidade fica toda dentro do objeto singleton StringUtils. O código cliente fica bem interessante também:

StringUtils.format( StringUtils.removeBlanks, "Ola enfermeira" )

O código retorna Olaenfermeira

Legal né =)

Se você tem alguma idéia melhor por favor compartilhe ela aí embaixo.