@czaykowski: jak a.cross(b) nie jest null to zwróć a.cross(b) w przeciwnym przypadku "zero" w C musiał byś miec zagwarantowany taki sam typ w obu wyrazneiach
@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)
@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
#wykopaka Czy wypada parze która chce jeść zdrowo i zrzucić kilka kg zrobić trolllowo pieroga z filcu? ( ͡º͜ʖ͡º) Kuwa, obiecałam że będzie moje rękodzieło w paczce i będzie (╯°□°)╯︵┻━┻
Jak mam rozumieć to wyrażenie?
a.cross(b) != null ? a.cross(b) : "zero"
w C musiał byś miec zagwarantowany taki sam typ w obu wyrazneiach
a.cross(b)
} else {
"zero"
}
Zgaduję, że masz coś w stylu: String text = a.cross(b) != null ? a.cross(b) : "zero"
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 :)
@wczoraj: to powinna być w sumie pierwsza i jedyna odpowiedź na pytanie, żeby OP mógł doczytać sam ( ͡° ͜ʖ ͡°)
Elvis to co innego.
Nieprawda. Metoda cross zostanie wywołana ponownie i to wynik drugiego wykonania będzie zwrócony, a nie pierwszego.
Jak to nie? Przypisz właśnie ten wynik.