SORU
2 AĞUSTOS 2011, Salı


Var yazı = (==0 v ? v daha iyi bir yoldur 1 : 0);

0 ile 1 arasında bir değişken geçiş yapmak istiyorum. 0 eğer 1 ise 1, Diğerleri ayarlamak için istiyorsam onu 0 yapmak istiyorum.

Bu kadar sık yazdığım gibi önemli bir işlemi yapmanın en kısa, en net şekilde araştırmak istiyorum. Burada şimdiye kadar benim en iyi:

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

Bu geliştirebiliriz?

Edit: soruya açıklık ne kadar elinde tutarak, en az bir karakter yukarıda söz yazmayı istiyor 'soru' değil mi? Bu değildi Kullanılanlar hariç olmak üzere, bir kod-golf egzersiz, ama bazı ilginç cevapları çıkıp insanların yaklaştığını, son olarak golf - görmek çok güzel golf kullanılan bir yapıcı ve düşündürücü bir şekilde.

CEVAP
2 AĞUSTOS 2011, Salı


Sadece kullanabilirsiniz:

v = 1 - v;

Sadece değerini 0 veya 1 var. tabii bu değişken düzgün başlatıldığını olduğunu varsayar, yani

Daha kısa olan başka bir yöntem, ama daha az yaygın bir operatör kullanır:

v ^= 1;

Düzenleme:

Açıkçası, ben hiç kod golf gibi bu soru, sadece operatörlerin yan etkileri gibi herhangi bir engelleme hile kullanmadan görev yapıyor kısa bir yol bulmaya yaklaştı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Arun Kumar

    Arun Kumar

    18 Mart 2010
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006