You can expand it all out and not use variables at all with something like
fun getStreetAddress(address1 ,address2) =
(if(sizeOf(address1 default "") >30)
address1[0 to 30]
else address1)
++ " " ++
(if(sizeOf(address2 default "") >30)
address2[0 to 30]
else address2)
---
getStreetAddress("asdf","1234567890123456789012345678901234567890")
If you really are wanting to assign variables inside your function you can break up the logic a bit. The important thing to remember is everything below the --- is the return statement for the function.
%dw 2.0
output application/json
fun getStreetAddress(address1,address2) = do{
var add1 = (if(sizeOf(address1 default "") >10)
address1[0 to 10]
else address1) default ""
var add2 = (if(sizeOf(address2 default "") >10)
address2[0 to 10]
else address2) default ""
---
add1 ++ " " ++ add2
}
---
getStreetAddress("1234567890123",null)