Aktywne Wpisy
dddobranoc +410
Marzy mi się taki 7-dniowy bojkot restauracji, kawiarni itp.
Żeby przez tydzień ludzie nie chodzili do tych miejsc za to, że:
- espresso 12zł
- cappucino 18zł
- kawa z 5 kostkami lodu 22zł
- pizza 45zł
- jagodzianka 22zł
- 100g makaronu z sosem 44zł
- kebab 32zł
- pierogi na jarmarku 5zł/szt
- piwko 18zł
- szklaneczka coli 10zł
- burger z przyczepy 40zł
- rosół z japonii 45zł
+
Żeby przez tydzień ludzie nie chodzili do tych miejsc za to, że:
- espresso 12zł
- cappucino 18zł
- kawa z 5 kostkami lodu 22zł
- pizza 45zł
- jagodzianka 22zł
- 100g makaronu z sosem 44zł
- kebab 32zł
- pierogi na jarmarku 5zł/szt
- piwko 18zł
- szklaneczka coli 10zł
- burger z przyczepy 40zł
- rosół z japonii 45zł
+
inyourbrain +593
Czy wy jesteście normalni na tym wykopie? Który system pozwala na to, by mieć ponad tysiąc aktywnych sesji, które są aktywne przez ponad rok? Rozumiem, że teraz mam wszystkie pojedynczo usuwać? Nawet nie ma możliwości usunięcia wszystkich jednym kliknięciem. Czy może powinienem napisać skrypt (z racji bycia #programista15k), który wyczyści wszystkie jednocześnie? Później się dziwicie, że konta są "wykradane", gdy sesje żyją w nieskończoność?
@wykop @m__b @a__s
#wykop #programowanie #security
@wykop @m__b @a__s
#wykop #programowanie #security
Np taki kod
interface Addable{
int add(int a,int b);
}
public class LambdaExpressionExample6 {
public static void main(String[] args) {
// Lambda expression without return keyword.
Addable ad1=(a,b)->(a+b);
System.out.println(ad1.add(10,20));
// Lambda expression with return keyword.
Addable ad2=(int a,int b)->{
return (a+b);
};
System.out.println(ad2.add(100,200));
}
}
tworzy się obiekt ad1 na podstawie interfejsu Addable, nadaje się funkcji add treść (która będzie działać tylko dla ad1, dla ad2 może być to już zupełnie inna funkcja) i się linijkę niżej odpala funkcję add.
A co się stało tutaj?
rozumiem że lambda bez interfejsu albo klasy statycznej nie zadziała? czyli w tym drugim kodzie musi być interfejs reduce?
Tego można użyć jak się już nada funkcji treść kodem numer 2? Ale gdzie tu argumenty (no bo z tego co rozumiem trzeba przekazać argumenty left i right)?
#ehhhhhhhhhhhhh #java #naukaprogramowania #programowanie
PS jak dodać blok tekstu do spoilera?
// Bez lambd
Predicate isBlank = new Predicate() {
public boolean test(String s) {
return s.trim().isEmpty();
}
}
// z lambda
Predicate isBlank = s -> s.trim().isEmpty();
trochę mieszając to precyzyjniej interfejsu z jedną metodą niedomyślną
patrz java.util.function.Predicate ( ͡° ͜ʖ ͡°)
suma sum = (int a) -> {return a*a;};
IntSupplier xxx = sum::add; //błąd
suma yyy = sum::add;
czemu xxx daję błąd a yyy nie?
java.util.function.IntSupplier#getAsInt
nie przyjmuje żadnego argumentu w przeciwieństwie do
int add(int a);
gdyby obie metody miały identyczne wejście i wyjście (ilość argumentów i typy) wtedy ten zapis by zadziałał
@Bruno_: referencje do metod to trochę "skrót myślowy", bo w praktyce można oznaczać aż 4 różne rzeczy, zobacz sobie sposoby użycia z tutorialu oracle https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html (tabelka)
a jeśli potrzebujesz totalnego wprowadzenia do lambd, poszukaj na YT jakiś prezentacji gościa co się zwie Venkat Subramanian o wprowadzeniu do programowania funkcyjnego - i cóż że z Indii, skoro kumaty, znany ewangelista tego podejścia
@Bruno_: Poza tym w lambdach nie podajesz typu argumentu - jest on wnioskowany z typu pod ktory podstawiana jest lambda, czyli nie (int a) -> ..., tylko po prostu a -> ...
to ja jeszcze dodam, że jeżeli ciało wyrażenia lambda zawiera tylko zwracaną wartość to nie trzeba omiatać jej nawiasami klamrowymi, czyli dodając to do tego co napisał @Kresse mamy a->a*a;
@zly_dzien @Kresse @ppawel @witajswiecie @100lik dzięki za odpowiedź, jutro przeanalizuje to co napisaliscie, tymczasem życzę wam dobrej nocy (。◕‿‿◕。)