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
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.
Multi-deyim Tablo Değerli İşlev vs sat...
Kaç satır yazmak yazdırmak için deyim?...
Nakavt veri bağlama kullanarak görüntü...
Nasıl piyasa verileri 7.3 milyar satır...
Nasıl hat Java kullanarak büyük metin ...