Wpis z mikrobloga

Jeżeli to co zwróci metoda a.cross(b) będzie różne od null to przypisz właśnie ten wynik z a.cross(b), jeżeli nie to przypisz "zero"

Zgaduję, że masz coś w stylu: String text = a.cross(b) != null ? a.cross(b) : "zero"
@czaykowski: że chcesz zwracać "zero", jeśli a.cross(b) czyli prawdopodobnie iloczyn wektorowy a z b zwraca null. No a zwracasz wynik tego iloczynu w przeciwnym razie.

Oczywiście - z powodu tego, że javascript jest językiem specjalnej troski - wyrażenie zwraca prawdopodobnie liczbę, jeśli funkcja zwraca nienull, a stringa, jeśli funkcja cross zwraca null, ale w js to norma. Przeklnij pod nosem i idź dalej :)
@czaykowski: Mnie niedawno o to pytał student na 3 roku PJWSTK, więc luz, ale rzecz obecna w wielu językach i bardzo przydatna, jeśli chcesz trochę linijek zaoszczędzić (no bo się da, ale po co xD)
@mekintosz

Jeżeli to co zwróci metoda a.cross(b) będzie różne od null to przypisz właśnie ten wynik (...)


Nieprawda. Metoda cross zostanie wywołana ponownie i to wynik drugiego wykonania będzie zwrócony, a nie pierwszego.
@sorhu:Właśnie ten wynik z a.cross(b) wyraźnie wskazałem jeszcze raz wywołanie funkcji. Być może nie jest to klarowne, ale serio nie ma sensu się o to spierać. Jest to jednak oczywiste, skoro widać ponowne wywołanie