Najpierw nauczyłem się kodować w Cjęzyku i używać
if ( code )
then
code
fi
utrudnia mi czytanie kodu (nie pytaj dlaczego). Czy istnieje substytut then?
Coś takiego:
if ( code ) {
code
}
fi
Najpierw nauczyłem się kodować w Cjęzyku i używać
if ( code )
then
code
fi
utrudnia mi czytanie kodu (nie pytaj dlaczego). Czy istnieje substytut then?
Coś takiego:
if ( code ) {
code
}
fi
Odpowiedzi:
Nie ma substytutu, ale możesz użyć obu, jeśli naprawdę potrzebujesz aparatów ortodontycznych:
if true ; then {
something
} fi
Wykorzystuje to niepotrzebną jawnie zbrojoną grupę poleceń jako bryłę thenbloku. Wszelkie polecenia w nawiasach zostaną wykonane w bieżącej powłoce po thenuruchomieniu, dokładnie tak, jakby nawiasy nie były dostępne.
Naprawdę nie polecałbym tego stylu ogólnie ani kodu, który ktoś inny będzie musiał przeczytać, ale daje ci nawiasy klamrowe, które chcesz, i zrobi to samo, jeśli używasz edytora, który wymaga wzmocnionych bloków lub coś w tym stylu.
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}- w zasadzie, gdy używasz bashwystarczająco dużo, standardowa składnia staje się wystarczająco znajoma, więc nie stanowi większego problemu.
Wydaje się, że patrząc na powłoce C ( csh, tcsh, etc ...). Należy pamiętać, że eksperci odradzają to przy programowaniu .
Nie jestem pewien, czy to, co uważasz za nieprzyjemne, thenjest następujące: Jeśli tak, rozważ użycie następującego stylu:
if condition; then
stuff
fi
Muszę przyznać, że nazwy instrukcji pisowni wstecz jak fifor ifi esacfor case(ale nie elihwdla while!) Są trochę dziwaczne. Ale to standardowa powłoka Bourne'a, najbardziej przenośna składnia powłoki, jakiej możesz użyć.
thennieprzyjemny, po prostu mój edytor podświetli odpowiednie {}pary, i jest to przydatne, gdy mam jakiś błąd, ponieważ wtedy mogę łatwo zobaczyć wszystkie moje ifstwierdzenia i sprawdzić, czy coś poszło nie tak .
vi, %które przeskakuje do pasującego nawiasu / nawiasu / nawiasu. Sympatyzuje. Tęsknię vi„s %komendy przy programowaniu w Pythonie.
Może to jest łatwiejsze dla oczu:
[ condition ] && {
# statement 1
# statment 2
# ...
}
Poza tym, przyzwyczaj się do tego. Użyj idiomów języka.
Poniżej jest blisko. I dziwne.
: if; { code; } && {
code
}
Osobiście nigdy nie lubiłem ...
if true; then
more;fi
... formuję siebie. Podoba mi się, gdy prowadzą słowa kontrolne . Zawsze wydawało mi się dziwne, że ...;thenw ogóle powstała dominująca forma.
if this && that
then do these things too
else i will probably get upset
fi
Jest to prawie całkowicie przeciwne do twojego żądania, ale jest to inny sposób, aby to zrobić. W firazie potrzeby możesz także przypiąć dowolne przekierowania do linii, które będą dotyczyć całego bloku.
if(...) {, tj. Pozostawieniem otwierającego nawiasu klamrowego na tej samej linii, co ifw językach podobnych do C.
ifpolecenia, nawet jeśli jest w następnym wierszu.
;w takim przypadku musisz użyć separatora . Właśnie dlatego.
:wbudowanej powłoki w ten sposób, aby wiersz kodu mógł być bajtowo bliższy składni C, nie należy w żaden sposób zachęcać.
Zawsze używam:
if (code); then
code;
fi
Prawdopodobnie nie dokładnie to, czego chcesz, ale jest trochę bardziej podobny do c.