← Timeline
Avatar placeholder
eliduvid

Reply to the post by @tigra:

Ну вот если в том примере false и null имеют действительно разную семантику и предполагается, что вызывающий код будет как-то это обрабатывать, то удобно было бы завернуть возвращаемое значение в case class или вернуть специфические значения названные как-то вроде Nothing, Null - назвав их в соответствии с семантикой возвращаемых значений.

А ещё по ним дёшево делается ветвление / pattern matching.

а, в смысле алгебраические типы обыкновенные. их можно эмулировать, но даже и не нужно, тип false|null|string уже обязывает обработать все случаи, но гибче. например если бы на обоих типах был бы один метод, он был бы доступен без проверки.

Но на самом деле никто не заморачивался такими вещами как правильная обработка всех ситуаций, а то бы метод false не возвращал бы вовсе :-)

👍1
To react or comment  View in Web Client