23 Kasım 2010, Salı
Nasıl koşullu operatör kullanırım (? :) Ruby?
Nasıl koşullu operatör (? :
) Yakut kullanılır?
Örneğin, bu doğru mu?
<% question = question.size > 20 ? question.question.slice(0, 20) "..." : question.question %>
CEVAP
23 Kasım 2010, Salı
ternary operator ve C gibi (parantez gerekli değildir) çalışır. Gibi çalışan bir ifade var:
if_this_is_a_true_value ? then_the_result_is_this : else_it_is_this
Ancak, Ruby, if
de bir ifade yani.: if a then b else c end
=== a ? b : c
, öncelikli meseleler hariç. Her iki ifade vardır.
Örnekler:
puts (if 1 then 2 else 3 end) # => 2
puts 1 ? 2 : 3 # => 2
x = if 1 then 2 else 3 end
puts x # => 2
Unutmayın ilk vaka parantez gereklidir (aksi takdirde Yakut karıştı çünkü düşünüyor. puts if 1
ile bazı ekstra önemsiz sonra), ama onlar gerekli son durum " dedi sorun değil ortaya.
Kullanabilirsiniz "uzun" şeklinde okunabilirlik birden fazla satır için
question = if question.size > 20 then
question.slice(0, 20) "..."
else
question
end
Bunu Paylaş:
Ruby on Rails. Nasıl Aktif Kaydı kulla...
Python üçlü koşullu bir operatör var m...
Nasıl Ruby anahtarı bir ifade yazabili...
Nasıl Ruby on Rails geçerli mutlak URL...
Nasıl Ruby alt veya üst durumda bir di...