Puncte:-3

Folosind constructul „condiție ? :”.

drapel jp

Folosesc următorul construct și nu înțeleg de ce produce o eroare de sintaxă.

(( r == 1 )) ? return 0 : return 1

Care este constructul condiție ? : sunat exact?

muru avatar
drapel us
De obicei se numește [operatorul ternar](https://en.wikipedia.org/wiki/%3F:). Ce te face să crezi că îl poți folosi în bash direct așa?
drapel jp
Nu am găsit exemple de utilizare, așa că am început să joc.
Puncte:1
drapel mx

În bash, sintaxa este ca mai jos:

$ echo $((0 ? 5 : 6 ))
6
$ echo $((1 ? 5 : 6 ))
5
drapel jp
Deci construcția este pur și simplu pentru atribuirea numerică `a=$(( r==1 ? 5 : 8 ))`, mai degrabă decât pentru a invoca comenzi generale, așa cum se poate face prin condiționalul `if`, `case` sau `while` declarații.
drapel au
Sintaxa @Fatipati Shell este extrem de dependentă de context, iar operatorul ternar nu face excepție. Este disponibil numai în contexte aritmetice, cum ar fi în `(( ))`, `$(( ))`, indexul unui tablou (neasociativ) sau în alte câteva locuri.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.