2016.12.29 07:37
leniwe oraz w języku z zachłanną ewaluacją

Do wczoraj wierzyłem, że w języku z zachłanną ewaluacją nie da się napisać funkcji, która leniwie zewaluuje swoje argumenty. Na przykład prawdziwie leniwego "oraz" - takiego, który nie zewaluuje drugiego argumentu jeśli pierwszy jest false. Ale wczoraj przyszedł mi do głowy taki pomysł:
function oraz(a, b) {
  if (a()) if (b()) return true;
  return false;
}

if (oraz(
  function() {
    return prompt('login') == 'mirek';
  }, function () {
    return prompt('hasło') == '123';
  }
)) {
  alert('wpuszczam');
} else {
  alert('nie wpuszczam');
}


komentarze:

ksywa:

tu wpisz cyfrę cztery: (tu wpisz cyfrę cztery: (to takie zabezpieczenie antyspamowe))

komentarze wulgarne albo co mi się nie spodobają będę kasował


powrót na stronę główną

RSS