Ar yra geresnis būdas rašyti v = (v == 0? 1: 0);

Noriu perjungti kintamąjį nuo 0 iki 1. Jei tai yra 0, aš noriu jį nustatyti į 1, kitaip, jei jis yra 1, noriu jį nustatyti į 0.

Tai tokia pagrindinė operacija, kurią rašau taip dažnai, kad norėčiau ištirti trumpiausią ir maksimalų įmanomą būdą tai padaryti. Štai mano geriausias dalykas:

 v = (v == 0 ? 1 : 0); 

Ar galite tai pagerinti?

Redaguoti: kyla klausimas, kaip rašyti minėtą operatorių mažiausiais simboliais, tuo pačiu išlaikant aiškumą - kaip šis „ne tikrasis klausimas“? Jis nebuvo skirtas pratyboms su kodo golfo aikštele, nors kai kurie įdomūs atsakymai išeina iš žmonių, artėjusių prie jo, kaip golfas. Malonu matyti, kad golfas naudojamas konstruktyviai ir apgalvotai.

428
02 авг. Ollie Glass nustatė 02 rug. 2011-08-02 14:22 '11 at 14:22 2011-08-02 14:22
@ 30 atsakymų

Galite naudoti:

 v = 1 - v; 

Tai, žinoma, daroma prielaida, kad kintamasis yra teisingai inicijuotas, ty jis turi tik 0 arba 1 reikšmę.

Kitas trumpesnis metodas, tačiau naudoja mažiau bendrą operatorių:

 v ^= 1; 

Redaguoti:

Būkite aiškūs; Niekada nesprendžiau šio klausimo kaip golfo kodo, tik norint rasti trumpą būdą, kaip atlikti užduotį, nenaudojant jokių paslėptų gudrybių, pvz., Operatorių šalutinio poveikio.

654
02 авг. atsakymas pateikiamas Guffa 02 rug . 2011-08-02 14:33 '11 at 14:33 2011-08-02 14:33

Kadangi 0 yra false , 1 yra true .

 v = (v ? 0 : 1); 

Jei džiaugiamės, kad vietoj numerių galite naudoti true ir false

border=0
 v = !v; 

arba jei jie turi būti skaičiai:

 v = +!v;  
330
02 авг. atsakymas pateikiamas Quentin 02 rug. 2011-08-02 14:26 '11 at 14:26 pm 2011-08-02 14:26

v = (v + 1) % 2 , ir, jei jums reikia kartoti per daugiau reikšmių, tiesiog pakeiskite 2 į (n + 1) . Tarkime, jums reikia ciklo 0,1,2, tiesiog v = (v + 1) % 3 .

197
02 авг. atsakymas duotas Prusse 02 rug. 2011-08-02 14:37 '11 at 14:37 pm 2011-08-02 14:37

Galite užrašyti jam funkciją ir naudoti ją kaip:

v = inv(v)

75
02 авг. Atsakymas duotas Danieliui 02 rug. 2011-08-02 14:25 '11 at 14:25 pm 2011-08-02 14:25

Jei jums nereikia jokių kitų galimybių nei 1:

 v = v ? 0 : 1; 

Pirmiau minėtu atveju v baigsis kaip 1, jei v yra 0, klaidingas, neapibrėžtas arba nulinis. Būkite atsargūs, naudojant šį metodą - v bus lygus 0, net jei v yra „sveikas pasaulis“.

50
02 авг. atsakymas suteiktas Brianui 02 rug. 2011-08-02 14:26 '11 at 14:26 pm 2011-08-02 14:26

v = 1 - v , arba v ^= 1 arba v= +!v linijos atliks šį darbą, tačiau jos sudaro tai, ką aš vadinsiu hacks. Tai nėra gražios kodų eilutės, bet pigūs gudrybės, kad pasiektumėte numatytą poveikį. 1 - v nesieja "perjungimas tarp 0 ir 1". Tai daro jūsų kodą mažiau išraiškingą ir įveda vietą (nors ir mažą), kur kitas kūrėjas turės išnagrinėti jūsų kodą.

Vietoj to, tokia funkcija kaip v = toggle(v) karto perduoda ketinimą.

43
02 авг. atsakymą pateikė Ray 02 rug. 2011-08-02 17:17 '11, 17:17, 2011-08-02 17:17

(Sąžiningumas ir matematinis vientisumas - atsižvelgiant į balsų skaičių dėl šio „atsakymo“ - tai leido man redaguoti šį atsakymą. Turėjau kuo ilgiau, nes jis buvo skirtas kaip trumpas frazė, o ne kaip kažkas „gilus“, todėl bet koks paaiškinimas atrodo Tačiau pastabose aiškiai nurodoma, kad turiu būti aišku, kad būtų išvengta nesusipratimų.)

Mano pirminis atsakymas yra:

Šios specifikacijos dalies formuluotė yra:

Jei jis yra 0, noriu jį nustatyti į 1, kitaip nustatydamas jį į 0.

reiškia tiksliausią sprendimą:

 v = dirac_delta(0,v) 

Pirma, išpažinimas: aš padariau savo delta funkcijas painius. Kronekerio delta būtų šiek tiek tinkamesnė, bet ne tiek, kiek norėjau, tai, kas buvo nepriklausoma nuo domeno (Kroneckerio delta daugiausia buvo naudojama tik sveikiems skaičiams). Bet tikrai neturėjau naudoti delta funkcijų, turėčiau pasakyti:

 v = characteristic_function({0},v) 

Leiskite paaiškinti. Prisiminkite, kad funkcija yra trigubas (X, Y, f), kur X ir Y yra rinkiniai (atitinkamai vadinami regionu ir kodininku), o f yra taisyklė, kuri kiekvienam elementui X priskiria elementą Y. Dažnai rašome trigubą (X, Y f) kaip f: X rightarrow; Y. X poaibyje, tarkim A, egzistuoja būdinga funkcija, kuri yra chi funkcija; A : X rightarrow; {0,1} (jis taip pat gali būti vertinamas kaip didesnio kodeno funkcija, pvz., Nopf; arba Ropf;). Ši funkcija nustatoma pagal taisyklę:

chi; A (x) = 1, jei x in; A ir chi; A (x) = 0, jei x notin; A.

Jei jums patinka tiesos lentelės, tai yra tiesos lentelės klausimas: „Ar X elementas yra elementas A?“.

Taigi, iš šios apibrėžties aišku, kad būdinga funkcija yra tai, ko reikia čia, o X yra didelis rinkinys, kuriame yra 0 ir A = {0}. Tai turėčiau parašyti.

Taigi delta funkcijoms. Tam mums reikia žinoti apie integraciją. Jūs jau žinote, ar ne. Jei to nedarysite, čia nieko negaliu pasakyti, pasakysiu apie teorijos subtilybes, bet galiu pateikti pasiūlymo santrauką. „X“ priemonė iš esmės yra „kas yra reikalinga vidurkiams apskaičiuoti“. Tai yra, jei turime X rinkinį ir priemonę? šiame rinkinyje yra X ir rightarrow funkcijų klasė; Ropf; vadinama išmatuojamomis funkcijomis, kurioms išraiška int; X fd mu; yra prasminga ir tam tikra neribota prasme „vidutinė“ vertė yra X virš X.

Atsižvelgiant į rinkinio matavimą, galite nustatyti „rinkinį“ šio rinkinio pogrupiams. Tai daroma priskiriant jo charakteristinės funkcijos pogrupio integralę (darant prielaidą, kad tai yra išmatuojama funkcija). Jis gali būti begalinis arba neapibrėžtas (abu yra šiek tiek skirtingi).

Yra daug priemonių, tačiau dvi svarbios. Vienas iš jų yra standartinė priemonė realioje eilutėje, Ropf; Dėl šios priemonės, tada int; Ropf; fd mu; tai yra tai, ką mokote mokykloje (ar skaičiavimas vis dar mokomas mokyklose?): apibendrinkite mažus stačiakampius ir imkite mažesnį ir mažesnį plotį. Šioje matavimo dalyje intervalo matas yra jo plotis. Taško matas yra 0.

Kita svarbi priemonė, kuri veikia bet kuriame rinkinyje, vadinama taškine priemone. Jis apibrėžiamas taip, kad funkcijos integralas yra jo verčių suma :

int; X fd mu; = suma; x in; X f (x)

Ši priemonė kiekvienai atskirai priskiriama 1 priemonės rinkiniui. Tai reiškia, kad pogrupis turi ribotą matą, jei ir tik tada, kai jis yra savarankiškas. Ir labai nedaug funkcijų turi baigtinį integrą. Jei funkcija turi baigtinį integralą, ji turi būti nulinė tik skaičiuojamu taškų skaičiumi. Taigi didžioji dauguma funkcijų, kurias jūs tikriausiai žinote, neturi galutinės integracijos šiai priemonei.

O dabar delta funkcijoms. Pažvelkime į labai platų apibrėžimą. Turime išmatuojamą erdvę (X, mu;) (taip rinkinys turi matmenį) ir elementą a in; X. Nustatome delta funkciją (priklausomai nuo a) kaip „funkciją“ a : X rightarrow; Ropf; su savybe, kad a (x) = 0, jei x ne ne; a ir int; X ? d mu; = 1.

Svarbiausias faktas apie tai, kaip gauti a-hold, yra toks: delta funkcija neturėtų būti funkcija . Jis nėra teisingai apibrėžtas: nesakiau, kad delta; a (a).

Tai, ką darote šiuo metu, priklauso nuo to, kas esate. Čia pasaulis yra suskirstytas į dvi kategorijas. Jei esate matematikas, jūs sakote:

Geras, todėl delta funkcija negali būti nustatyta. Pažvelkime į jos hipotetines savybes ir pažiūrėkime, ar ten surasime tinkamą namą, kur jis bus nustatytas. Tai galime padaryti ir mes gausime paskirstymus. Tai nėra (nebūtinai) funkcijos, bet tai, kas elgiasi kaip funkcijos, ir dažnai mes galime su jais dirbti taip, lyg jie būtų funkcijos; tačiau yra tam tikrų dalykų, kurių jie neturi (pavyzdžiui, „reikšmės“), todėl turime būti atsargūs.

Jei nesate matematikas, sakote:

Gerai, todėl delta funkcija gali būti neteisingai apibrėžta. Kas tai sako? Matematikų krūva? Nepaisykite jų! Ką jie žino?

Aš įžeidžiau savo auditoriją ir toliau.

dirac delta strong> paprastai laikoma taško (dažnai 0) delta funkcija realioje linijoje su standartine priemone. Todėl tie, kurie skundžiasi man komentarais, nežino savo deltų, tai daro, nes jie naudoja šią apibrėžtį. Jiems atsiprašau: nors aš galiu atsiprašyti už tai, naudojant matematikos apsaugą (kaip populiarėja Humpty Dumpty: viskas iš naujo apibrėžta taip, kad ji būtų teisinga), bloga forma yra naudoti standartinį terminą kitam.

Tačiau yra delta funkcija, kuri daro tai, ko noriu, ir būtent tai man reikia. Jei aš nustatysiu tašką X rinkinyje, tai yra tikra funkcija ir delta; a : X rightarrow; Ropf; kuri atitinka delta funkcijos kriterijus. Taip yra todėl, kad ieškome funkcijos X ir dešinės pusės; Ropf; kuri yra lygi nuliui, išskyrus a. ir tt, kad visų jo verčių suma yra 1. Ši funkcija yra paprasta: vienintelė trūkstama informacija yra jos vertė a punkte, ir norint gauti sumą, lygią 1, mes paprasčiausiai priskiriame 1 reikšmę. niekas kitas, išskyrus {a} būdingą funkciją. Tada:

int; X ? d mu; = suma; x in; X ? a (x) =? a (a) = 1.

Taigi, šiuo atveju, jei yra atskiras rinkinys, sutinkama su charakteristika ir delta funkcija.

Taigi, yra trys „funkcijų“ grupės:

  • Vieno taško rinkinių charakteristikos,
  • Delta funkcijos,
  • Kronekerio delta funkcijos.

Antrasis yra labiausiai paplitęs, nes bet kuris iš kitų yra pavyzdys, kai naudojamas taško matas. Tačiau pirmasis ir trečiasis turi pranašumą, kad jie visada yra tikri bruožai. Trečiasis iš tikrųjų yra pirmasis atvejis, susijęs su konkrečia domenų šeima (sveikieji skaičiai arba kai kurie jų pogrupiai).

Taigi, galiausiai, kai iš pradžių parašiau atsakymą, aš netinkamai galvojau (nesakyčiau, kad buvau supainioti, nes tikiuosi, ką tik parodiau, kad žinau, apie ką kalbu, kai aš iš tikrųjų Manau, kad iš pradžių aš tiesiog nemanau). Įprasta delta dirako reikšmė nėra tai, ko reikia čia, bet vienas iš mano atsakymo punktų buvo tas, kad įvesties domenas nebuvo apibrėžtas, todėl Kronekerio delta taip pat nebūtų teisinga. Taigi geriausias matematinis atsakymas (kuriam aš siekiau) būtų būdingas .

Tikiuosi, kad visa tai aišku; ir aš taip pat tikiuosi, kad nebereikės rašyti matematinio fragmento, naudojant HTML objektus, o ne TeX makrokomandas!

39
03 авг. atsakymas suteiktas „ Loop Space“ 03 rug. 2011-08-03 11:01 '11 prie 11:01 2011-08-03 11:01

Jūs galite padaryti

 v = Math.abs(--v); 

Sumažinus nustatoma vertė 0 arba -1, o tada Math.abs konvertuoja -1 į +1.

35
02 авг. atsakymą pateikė Paulius 02 rug. 2011-08-02 15:31 '11 prie 15:31 2011-08-02 15:31

Apskritai, kai reikia perjungti dvi vertes, galite tiesiog atimti dabartinę vertę iš dviejų perjungimo verčių sumos:

  0,1 -> v = 1 - v 1,2 -> v = 3 - v 4,5 -> v = 9 - v 
34
03 авг. Mouna Cheikhna atsakymas rugpjūčio 3 d 2011-08-03 16:37 '11 at 16:37 2011-08-03 16:37

Jei jis turėtų būti sveikas skaičius 1 arba 0, tai kaip tai padaryti yra gerai, nors skliausteliuose nereikia. Jei šie a yra naudojami kaip loginės vertės, galite tiesiog:

 v = !v; 
34
02 авг. Michael Berkowski atsakymas 02 rugpjūtis 2011-08-02 14:25 '11 at 14:25 pm 2011-08-02 14:25
 v = v == 0 ? 1 : 0; 

Pakankamai!

24
02 авг. atsakymas pateikiamas nidhin 02 rug . 2011-08-02 14:25 '11 at 14:25 pm 2011-08-02 14:25

Apibendrinant kitą atsakymą, komentarą ir savo nuomonę, siūlau sujungti du dalykus:

  • Perjunkite funkciją
  • Naudodamiesi šia funkcija, naudokite aiškesnį įgyvendinimą.

Čia yra funkcija, kurią galite įdėti į biblioteką, arba galbūt ją įterpti į kito „Javascript Framework“ papildinį.

 function inv(i) { if (i == 0) { return 1 } else { return 0; } } 

Ir naudojimas yra paprastas:

 v = inv(v); 

Privalumai:

  • Nėra kodo dubliavimo
  • Jei jūs ar kas nors tai perskaitys ateityje, jūs suprasite savo kodą minimaliu laiku.
17
02 авг. Martin Schlagnitweit atsakymas 2011-08-02 22:00 '11 22:00 val. 2011-08-02 22:00

Sprendimų sąrašas

Siūlyčiau tris sprendimus. Visi jie konvertuoja bet kokią vertę į 0 (jei 1 , true ir tt) Arba 1 (jei 0 , false , null ir tt):

  • v = 1*!v
  • v = +!v
  • v = ~~!v

ir dar vienas, jau minėtas, bet protingas ir greitas (nors veikia tik 0 ir 1 s):

  • v = 1-v

1 sprendimas

Galite naudoti šį sprendimą:

 v = 1*!v 

Pirmiausia sveikasis skaičius perskaičiuojamas į priešingą loginę vertę (nuo 0 iki true ir bet kokios kitos vertės į false ), o tada jis bus apdorojamas kaip sveikasis skaičius, padaugintas iš 1 . Todėl 0 bus konvertuojamas į 1 ir bet kurią kitą vertę į 0 .

Kaip įrodymą, žr. Šį jsfiddle ir nurodykite visas vertes, kurias norite patikrinti: jsfiddle.net/rH3g5/

Rezultatai yra tokie:

  • -123 konvertuojamas į sveikąjį skaičių 0 ,
  • -10 konvertuojamas į sveikąjį skaičių 0 ,
  • -1 konvertuojamas į sveikąjį skaičių 0 ,
  • 0 konvertuojamas į sveikąjį skaičių 1 ,
  • 1 konvertuojamas į sveikąjį skaičių 0 ,
  • 2 konvertuojamas į sveikąjį skaičių 0 ,
  • 60 konvertuojamas į sveikąjį skaičių 0 ,

2 sprendimas

Kaip pažymėta mblase75, jAndy turėjo kitą sprendimą, kuris veikia kaip mano:

 v = +!v 

Ji taip pat pirmiausia sukuria loginę vertę iš pradinės vertės, bet vietoj 1* naudoja + kad ją konvertuotų į sveikąjį skaičių. Rezultatas yra toks pats, tačiau pavadinimas yra trumpesnis.

3 sprendimas

Kitas būdas - naudoti ~~ operatorių:

 v = ~~!v 

Tai gana neįprasta ir visada perskaičiuojama į sveikasis skaičius iš boolean.

17
17 авг. Atsakymas duotas Tadeck 17 rug . 2011-08-17 19:45 '11, 19:45, 2011-08-17 19:45

Nežinau, kodėl norite sukurti savo logiką? Man patinka funk sintaksės, bet kodėl gi ne rašyti aiškų kodą?

Tai nėra trumpiausias / greičiausias, bet aiškiausias (ir visiems suprantamas) naudojamas gerai žinomas, jei / kitaip nurodyta:

 if (v === 0) { v = 1; } else { v = 0; } 

Jei norite būti tikrai aiškūs, jums reikia naudoti logines vertes vietoj numerių. Daugeliu atvejų jie yra pakankamai greitai. Naudodami „Boolean“ galite naudoti šią sintaksę, kuri laimėjo trumpą formą:

 v = !v; 
13
02 авг. Marko Knolio atsakymas 2011-08-02 22:04 '11, 10:04 val. 2011-08-02 22:04

Kita jūsų pradinio sprendimo forma:

 v = Number(v == 0); 

EDIT: Ačiū TehShrike ir Guffa, kad nurodė mano pradiniame sprendime padarytą klaidą.

12
02 авг. atsakymas, kurį pateikė Kurt Kaylor 02 rugpjūtis 2011-08-02 19:52 '11, 19:52, 2011-08-02 19:52

Aš tai padariau aiškesnę.

Ką reiškia v ?

Pavyzdžiui, kai v yra būsena. Sukurti objekto būseną. DDD reikšmės objektas.

Įgyvendinkite šios vertės objekto logiką. Tada galite parašyti savo kodą labiau funkcionaliu būdu, kuris yra lengviau skaitomas. Perjungimo būseną galima atlikti sukuriant naują būseną pagal dabartinę būseną. Tada jūsų if-operator / logika yra įdėta į jūsų objektą, kurį galite ištrinti. „ObjectObject“ objektas visada nepakeistas, todėl jis neturi identifikatoriaus. Todėl norėdami pakeisti vertę, reikia sukurti naują.

Pavyzdys:

 public class Status { private readonly int _actualValue; public Status(int value) { _actualValue = value; } public Status(Status status) { _actualValue = status._actualValue == 0 ? 1 : 0; } //some equals method to compare two Status objects } var status = new Status(0); Status = new Status(status); 
11
05 авг. atsakymą pateikė Marco Franssen 05 rugpjūčio mėn 2011-08-05 13:33 '11 at 13:33 2011-08-05 13:33

Kitas būdas tai padaryti yra:

 v = ~(v|-v) >>> 31; 
10
18 авг. atsakymas duotas Eng.Fouad 18 rug . 2011-08-18 22:51 '11, 10:51 val. 2011-08-18 22:51

Tiesiog kicks: v = Math.pow(v-1,v) taip pat persijungia tarp 1 ir 0.

8
18 авг. Blazemonger atsakė rugpjūčio 18 d 2011-08-18 23:13 '11, 23:13, 2011-08-18 23:13

Trūksta:

 v = [1, 0][v]; 

Jis taip pat veikia kaip robino raundas:

 v = [2, 0, 1][v]; // 0 2 1 0 ... v = [1, 2, 0][v]; // 0 1 2 0 ... v = [1, 2, 3, 4, 5, 0][v]; // 0 1 2 3 4 5 ... v = [5, 0, 1, 2, 3, 4][v]; // 0 5 4 3 2 1 0 ... 

arba

 v = {0: 1, 1: 0}[v]; 

Paskutinio sprendimo grožis taip pat veikia su visomis kitomis vertėmis.

 v = {777: 'seven', 'seven': 777}[v]; 
8
24 июня '15 в 16:52 2015-06-24 16:52 atsakymą pateikė Nina Scholz birželio 15 d. 15:52 val. 2015-06-24 16:52

Dar vienas dalykas: v=++v%2

(C būtų tik ++v%=2 )

ps Taip, žinau, kad tai yra dvigubas tikslas, tačiau tai tik neperdirbtas C metodo perdirbimas (kuris neveikia taip, kaip ir, priverčia JS išankstinį prieaugį iš negaliojančio „lvalue“ operatoriaus.

7
02 авг. atsakymą pateikė Adam Jurczyk 02 rug. 2011-08-02 21:41 '11 prie 21:41 2011-08-02 21:41

Jei garantuojate, kad įvestis yra 1 arba 0, galite naudoti:

 v = 2+~v; 
7
05 авг. atsakymas duotas brandx 05 rug . 2011-08-05 11:15 '11, 11:15, 2011-08-05 11:15

apibrėžti masyvą {1,0}, nustatykite v į v [v], todėl v su 0 reikšme tampa lygi 1 ir vica versa.

7
17 июля '12 в 18:50 2012-07-17 18:50 atsakymas buvo pateiktas Sam , liepos 17 d. 12 val. 18:50 2012-07-17 18:50

Kadangi tai „JavaScript“, galime naudoti unary + konvertuoti į int:

 v = +!v; 

Tai bus loginė NOT v reikšmė ( true jei v == 0 arba false jei v == 1 ). Tada mes konvertuojame grąžintą loginę vertę į atitinkamą sveikojo skaičiaus vaizdą.

6
24 нояб. atsakymas pateiktas 0x499602D2 24 nov. 2012-11-24 21:33 '12 21:33 val. 2012-11-24 21:33

Kitas kūrybiškas būdas tai padaryti, kai v lygi bet kokiai vertei, visada grąžins 0 arba 1

 v = !!v^1; 
5
02 авг. Yanick Rochon atsakymas, rugpjūčio 02 d 2011-08-02 18:47 '11 at 18:47 2011-08-02 18:47

Jei galimos v reikšmės yra tik 0 ir 1, tada bet kuriam sveikam skaičiui x išraiška yra: v = Math.pow ((Math.pow (x, v) - x), v); pakeis vertę.

Žinau, kad tai yra bjaurus sprendimas, o OP nenorėjo jo ... bet aš galvojau apie kitą sprendimą, kai buvau tualete: P

4
05 авг. atsakymas pateikiamas Amit 05 rug. 2011-08-05 13:50 '11, 13:50 pm 2011-08-05 13:50
 v=!v; 

veiks v = 0 ir v = 1; ir perjunkite valstybę;

4
31 авг. atsakymą pateikia mokytojas 31 d. 2011-08-31 07:21 '11 at 7:21 am 2011-08-31 07:21

Nepatvirtinta, bet jei po loginio, manau, kad var v = !v veiks.

Nuoroda: http://www.jackfranklin.co.uk/blog/2011/05/a-better-way-to-reverse-variables

3
03 авг. Martin Bean atsakymas 03 rug. 2011-08-03 14:18 '11 at 14:18 2011-08-03 14:18

Jei yra tik dvi vertybės, kaip šiuo atveju (0, 1), manau, kad naudinga naudoti int. Greičiau eikite į logišką ir darbą bitais. Aš žinau, ką manau, bet perjungus tarp dviejų valstybių, logiškas pasirinkimas yra idealus pasirinkimas.

1
31 окт. Atsakyti Amber 31 Oct. 2012-10-31 20:20 '12 8:20 val. 2012-10-31 20:20

Na, kadangi mes žinome, kad javascript tik tai, kad loginis palyginimas taip pat suteiks laukiamą rezultatą.

tai yra. v = v == 0 pakanka.

Žemiau pateikiamas kodas:

https://jsfiddle.net/vikash2402/83zf2zz0/ 

Tikiuosi, kad tai padės jums :)

1
04 окт. atsakymą pateikė Vikash Pandey 04 okt. 2016-10-04 10:27 '16 at 10:27 am 2016-10-04 10:27
 v = !v * 1 

padauginus iš 1, norint konvertuoti loginį skaičių į skaičių

-1
28 окт. JVM atsakymas 28 spalis 2017-10-28 01:12 '17 at 1:12 2017-10-28 01:12