SORU
30 EYLÜL 2010, PERŞEMBE


Deyim bir satır çalışmıyor

<%if @item.rigged %>Yes<%else%>No<%end%>

Böyle bir şey düşünüyordum?

if @item.rigged ? "Yes" : "No" 

Ama çalışmıyor. Ruby ||= ama ben"m bile-bundan nasıl emin.

CEVAP
30 EYLÜL 2010, PERŞEMBE


Yakut, durumu ve then Bir if ifadesi ile ayrılmalıdır ya da bir ifade ayırıcı (örneğin ; veya yeni satır) veya then anahtar kelime.

Yani, tüm bunlar işe yarar:

if @item.rigged then 'Yes' else 'No' end

if @item.rigged; 'Yes' else 'No' end

if @item.rigged
  'Yes' else 'No' end

Ayrıca ruby'de koşullu operatörü var, ama bu çok gereksiz. Koşul operatörü gerekli C, çünkü bir operatör: C, if ifadedir ve bu nedenle bir dönüş değeri, yani isterseniz dönüş değeri, ihtiyacınız olan bir şey için kullanınolabilirbir değeri döndürür. Ve bir değer döndüren C tek şey işlevler ve işleçler ve imkansız if C bir işlevi yapmak için bir o yana, bir operatör gerekir.

Ruby, if ancak bir ifade. Aslındaher şeyiRuby bir ifade, o kadarzatenbir değer döndürebilir. Hatta koşullu operatör için gerek yokvarbırak kullanın.

BTW: bu örf ve adet gibi: sonunda soru işareti olan bir soru sormak için kullanılan yöntemler ad

@item.rigged?

Bu Ruby: koşullu operatörü kullanarak başka bir sorun gösterir

@item.rigged? ? 'Yes' : 'No'

Sadece çok fazla soru ile okumak için bu işaretler birbirine yakın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bucky Roberts

    Bucky Robert

    9 HAZİRAN 2011
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • Thom Hall

    Thom Hall

    24 Kasım 2006