Is there a language that implements this concept:
say you have code like this:
fulldate_ = " Mon Jan 20 2017 "
fulldate = strings.TrimSpace(fulldate)
year = fullDate[len(fulldate)-4:] //get the last 4 characters to get the year
is there a concept that allows you to do this to simplify it:
fulldate_ = " Mon Jan 20 2017 "
year = strings.TrimSpace(fulldate_)[len($)-4:]
Where basically the $ (or whatever symbol the language uses) becomes the returned value from the function.
SQL with substring
>>59032677
You could use an anonymous function for that.
If it was, say, Python:year = (lambda s: s[len(s)-4:])(strings.TrimSpace(fulldate_))
I don't remember if lambdas need a return statement though.
>>59034109
in python the lambdas automatically return whatever the single expression evaluated to
In Haskell you can use the let notation:
>let x = 3 in x + x*x
or where:
>x + x*x where x = 3
>>59032677
Are you retarded......
>>59032677
Here it is in haskell. Unfortunately, there's no built in function timSpace or taking the last n elements, but they're easy enough to write:year = takeLast 4 $ trimSpace $ " Mon Jan 20 2017"
where
trimSpace = unwords . words
takeLast n xs = drop (length xs - n) xs
Alternatively in C#, you could use extension methods:" Mon Jan 20 2017 ".TrimSpace().TakeLast(4);
static string TrimSpace(this x) { ... }
static string TakeLast(this x, int n) { ... }