On Wed, May 1, 2019 at 2:31 PM <lgod...@gmail.com> wrote: > > Great example of why future Go updates should include the ternary operator. > Your code is mess-ey when written using keywords 'if' or 'switch' > but using '?' it becomes much cleaner > > p.Rect.X += rl.IsKeyDown(rl.KeyA) ? -1:0 + (rl.IsKeyDown(rl.KeyD) ? 1 : 0 > ) > p.Rect.Y += rl.IsKeyDown(rl.KeyW) ? -1:0 + (rl.IsKeyDown(rl.KeyS) ? 1 : 0 > )
I don't think this is readable at all. I think the cascading-ifs version is much easier to read. You could do something like the following, but I think pointless unless there's more to the original snippet: checkKey:=func(k, v int) int { if rl.IsKeyDown(k) { return v } return 0 } p.Rect.X+=checkKey(rl.KeyA,-1)+checkKey(rl.KeyD,1) p.Rect.Y+=checkKey(rl.KeyW,-1)+checkKey(,rl.KeyS,1) > > On Wednesday, May 1, 2019 at 8:38:10 AM UTC-4, гусь wrote: >> >> if rl.IsKeyDown(rl.KeyA) { >> p.Rect.X -= 1 >> } >> if rl.IsKeyDown(rl.KeyD) { >> p.Rect.X += 1 >> } >> if rl.IsKeyDown(rl.KeyW) { >> p.Rect.Y -= 1 >> } >> if rl.IsKeyDown(rl.KeyS) { >> p.Rect.Y += 1 >> } > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.