[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [FUN] A bit of code golfing
- From: Martin <eden_martin_fuhrspam@...>
- Date: Thu, 29 Sep 2016 01:11:36 -0700
On 16-09-28 02:20 PM, Egor Skriptunoff wrote:
> Your task is to implement string-based function NVL(x,y) in Lua.
> Both arguments of NVL are always strings.
> NVL returns its first argument if it is not empty string, otherwise it
> returns its second argument.
>
> function NVL(x,y)return x==""and y or x end
>
> The length of source code of this implementation is 43 bytes.
> Your task is to fit your implementation in smaller size.
I've found somewhat funny but 1 and 2 chars longer variants:
function NVL(x,y)return({['']=y})[x]or x end
function NVL(x,y)return({[x]=x,['']=y})[x]end
On 16-09-28 02:28 PM, Soni L. wrote:
> NVL=load"return...==''and({...})[2]or..."
Nice solution, Soni.