On Fri, Dec 5, 2008 at 12:44 AM, Erik Trulsson <[EMAIL PROTECTED]> wrote: > On Fri, Dec 05, 2008 at 12:35:31AM -0800, Garrett Cooper wrote: >> On Thu, Dec 4, 2008 at 11:22 PM, Ed Schouten <[EMAIL PROTECTED]> wrote: >> > * Maksim Yevmenkin <[EMAIL PROTECTED]> wrote: >> >> the idea was to ensure that kbd->kb_locked variable only takes values >> >> 0 (zero) and 1 (one). >> > >> > I often use constructs like these to do that: >> > >> > foo = bar ? 1 : 0; >> > >> > Maybe !!bar is a lot shorter to write, I think the line above is a lot >> > easier to read. >> >> Indeed. I had no idea (and I would assume that many people wouldn't in >> my similar level of systems programming) what in the work you were >> trying to do above with that line. The one-line conditional is >> universal in almost all major high-level language dialects I've hit, >> minus Python and Tcl. >> -Garrett > > The !!bar construction to map {0, not-0} to {0,1} is fairly common in C > programming, and I would certainly expect any experienced C programmer to > recognize it.
(I feel like I'm getting off on a bikeshed topic, but...) 1. What dialect of C was it defined in? Is it still used in the standard dialect (honestly, this is the first time I've ever seen it before, but then again I am a younger generation user)? 2. Is it still taught in schools (I didn't learn it when I was taught C)? If not in schools, what about the Richie text (it's sort of like the defacto C programming standard book of course)? 3. What's the real loss of going to `? :', beyond maybe 3 extra keystrokes if it's easier for folks who may not be as experienced to read? -Garrett _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"