R, 1 bajt
!
Przykład:
> !c(TRUE, FALSE)
[1] FALSE TRUE
Działa również z wprowadzaniem numerycznym:
> !c(1, 0)
[1] FALSE TRUE
Nie ograniczamy się również do tablic jednowymiarowych. Zróbmy macierz i losowo zapełnij ją zerami i jedynkami:
> mat = matrix(rbinom(16, 1, .5), ncol=4)
> mat
[,1] [,2] [,3] [,4]
[1,] 0 1 1 1
[2,] 0 1 0 0
[3,] 0 0 0 0
[4,] 1 1 1 0
Możemy to równie łatwo odwrócić:
> !mat
[,1] [,2] [,3] [,4]
[1,] TRUE FALSE FALSE FALSE
[2,] TRUE FALSE TRUE TRUE
[3,] TRUE TRUE TRUE TRUE
[4,] FALSE FALSE FALSE TRUE
Możemy to nadal robić dla dowolnej liczby wymiarów. Oto przykład czterowymiarowej tablicy:
> bigarray = array(rbinom(32, 1, 0.5), dim=c(2,2,2,2))
> bigarray
, , 1, 1
[,1] [,2]
[1,] 0 0
[2,] 0 0
, , 2, 1
[,1] [,2]
[1,] 1 0
[2,] 0 0
, , 1, 2
[,1] [,2]
[1,] 0 1
[2,] 0 1
, , 2, 2
[,1] [,2]
[1,] 1 0
[2,] 1 1
> !bigarray
, , 1, 1
[,1] [,2]
[1,] TRUE TRUE
[2,] TRUE TRUE
, , 2, 1
[,1] [,2]
[1,] FALSE TRUE
[2,] TRUE TRUE
, , 1, 2
[,1] [,2]
[1,] TRUE FALSE
[2,] TRUE FALSE
, , 2, 2
[,1] [,2]
[1,] FALSE TRUE
[2,] FALSE FALSE
Obawiam się, że nie działa dla postaci.
> !"Hello world"
Error in !"Hello world" : Invalid argument type.
0
(fałsz, wszystkie 0 bitów) i-1
(prawda, wszystkie 1 bit)?