İlk önce bir Cdilde kod yazmayı ve
if ( code )
then
code
fi
kodumu okumamı gerçekten zorlaştırıyor (nedenini sorma). Bunun yerine geçecek bir şey var mı then?
Bunun gibi bir şey:
if ( code ) {
code
}
fi
İlk önce bir Cdilde kod yazmayı ve
if ( code )
then
code
fi
kodumu okumamı gerçekten zorlaştırıyor (nedenini sorma). Bunun yerine geçecek bir şey var mı then?
Bunun gibi bir şey:
if ( code ) {
code
}
fi
Yanıtlar:
Bunun yerine bir şey yoktur, ancak gerçekten parantezlere ihtiyacınız varsa her ikisini de kullanabilirsiniz:
if true ; then {
something
} fi
Bu , bloğun gövdesi olarak gereksiz yere açıkça desteklenmiş bir komut grubu kullanır then. Diş telleri içindeki tüm komutlar then, tam olarak diş telleri yokmuş gibi , çalışır durumdayken geçerli kabukta yürütülür .
Bu stili genel olarak veya başka birinin okuması gereken kod için gerçekten tavsiye etmem, ancak istediğiniz parantezleri verir ve parantez blokları gerektiren bir düzenleyici kullanıyorsanız hile yapar veya bunun gibi bir şey.
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}- temel olarak, bashyeterince kullandığınızda , standart sözdizimi yeterince tanıdık olur, bu yüzden çok fazla bir sorun değildir.
Sen arayan gibi görünüyor C kabuğu ( csh, tcsh, vs ...). Unutmayın uzmanlar programlama için buna karşı tavsiye .
Zevksiz olduğunu düşündüğünüz kısmın thenaşağıdaki satırdaki gerçeği olup olmadığından emin değilim ? Öyleyse, aşağıdaki stili kullanmayı düşünün:
if condition; then
stuff
fi
Geri geri gibi bu yazım ifadesi isimleri itiraf etmeliyim fiiçin ifve esaciçin case(ancak elihwiçin whilenazik Acayip taşımaktadır!). Ama bu, kullanabileceğiniz en taşınabilir kabuk sözdizimi olan standart Bourne kabuğu.
thenZevksiz bulamıyorum, sadece editörüm ilgili {}çiftleri vurgulayacaktır ve bu bir tür hataya sahip olduğum zaman için yararlıdır, çünkü o zaman tüm ififadelerimi kolayca görebilir ve bir şeylerin yanlış gittiğini görebilirim .
vi'in %eşleşen ayracı / parantez / dirseğe atlar komut. Sempati duyuyorum. Özlediğim vi'ın %Python programlarken komutu.
Belki bu gözlerde daha kolaydır:
[ condition ] && {
# statement 1
# statment 2
# ...
}
Bunun dışında sadece alış. Dilin deyimlerini kullanın.
Aşağıdakiler oraya yakın. Ve garip.
: if; { code; } && {
code
}
Şahsen ben hiç sevdim ...
if true; then
more;fi
... kendimi şekillendiriyorum. Kontrol sözler hoşuma kurşun . Hakim ...;thenformun ortaya çıkması bana her zaman garip geldi.
if this && that
then do these things too
else i will probably get upset
fi
Talebinizin neredeyse tamamen tersi, ancak bunu yapmanın başka bir yolu. İstediğiniz yönlendirmeleri fihatta gerektiği gibi yapıştırabilirsiniz ve bunlar tüm bloğa uygulanır.
if(...) {, yani açılış ayrağını ifC benzeri dillerde aynı satırda bırakmak .
if, bir sonraki satırda bile yorumlayıcıyı komutun devamı için arar .
;bu durumda sınırlamayı kullanmalısınız . Bu yüzden yapıyorlar.
:Kabuk yerleşkesini bu şekilde kullanarak, bir kod satırı C sözdizimine daha yakın olabilir, hiçbir şekilde teşvik edilmemelidir.
Her zaman kullanıyorum:
if (code); then
code;
fi
Muhtemelen tam olarak ne istediğinizi değil ama biraz daha c gibi.