Aa | Aa |
Коллекции загружаются
#прогерское #вопрос
Что-то не гуглится, как на джаве из метода вернуть список чего-нибудь, например интов? Какой должен быть тип у метода. Где это нормально можно почитать? Допустим мне нужна банальная функция копирующая список... куда уж проще, как её оформить? 1 июня 2017
|
Ластро
|
|
Не смешно, это я и так могу, мой вопрос, что в тип написать, чтобы оно не ругалось...
|
Ластро
|
|
Так, ладно, вроде получилось... но вот теперь вопрос, какого чёрта в коллекции нельзя складывать обычные инты O.o ??? Это что за нахер?
|
Al Lastor
А как получилось? |
Ластро
|
|
public static List <Integer> primesToN (int num) {
List<Integer> list = new ArrayList<> (); for (int i = 1; i <= num; i++) { if (primeTest(i)) { list.add(i); } } return list; } |
Ластро
|
|
Вот такой вот хеллоу ворлд :)
|
Ластро
|
|
Для сравнения, эта же фигня на хаскеле :))
isPrime x = all (\i -> x`mod`i /= 0) [2..x-1] primesToN n = [x | x <- [1..n], isPrime x] |
ты обманываешь
в джаве есть и форич, и генераторы, и мап-редус, и всё такое 1 |
Ластро
|
|
Mikie, может и есть, но я до них ещё не добрался :)
|
Ластро
|
|
Mikie, кроме того, я не утверждал, что знаю её в совершенстве, вот сижу разбираюсь :)
|
как доберешься, так и будешь делать _корректные_ сравнения
(иные просто не_нужны) |
Ластро
|
|
Mikie, может я ещё не постиг дзен, но пока что джава вызывает у меня ощущение слишком многословного языка...
|
Mikie
Наверное, потому что после Джавы Скала свалится приятным бонусом? |
Ластро
|
|
Угу, а ещё js :) ну в теории...
|
Kotlin
|
>какого чёрта в коллекции нельзя складывать обычные инты O.o ???
O_O Джава суровый язык ))) |
Ластро
|
|
Я проникся :)
|
Вязаная варежка
джава от скалы отличается капитально в случае аластора, может и свалится, потому что он уже знает монады, но всё равно не сразу, я бы сказал, не автоматически js - ну хз, тоже не сказал бы, я не гуру в обоих, но они мне кажутся всё-таки довольно разными Администратор палишься |
Mikie
JS куда хуже Джавы. Не то, чтобы я так хорошо знал джаву, но JS явно хуже. Да и с webassembly нафиг будет не нужен ) |
"хуже"
я вот табуировал в своей речи связку "язык А хуже чем Б" Чего и всем советую. 2 |
Mikie
Java хотя бы подходит для выполняемых им задач. А на JS кодят от безысходности ) |
Mikie
Сейчас куда ни плюнь - найдёшь альтернативу джаве. JS альтернатив пока нет (webassembly только растёт), есть только монструозные библиотеки-расширения, которые ни фига не удобны. Всё-таки JS убог и примитивен, и большое сложное приложение на нём написать крайне сложно - хотя бы потому, что нормального ООП в нём нет - прототипы ужасны. Есть, конечно, монструозные библиотеки, которые здорово помогают в этом плане - ExtJS к примеру. Но они так или иначе не являются родными для JS, что затрудняет разработку. И так далее. Факт в том, что JS, изначально созданный как примитивный язык для исполнения кода на стороне браузера, сейчас выполняет задачи, на которые при разработке рассчитан не был. |
А, ты разобрался уже
А чо не решето или это poc |
Ластро
|
|
Program No 6, решето Эратосфена хорошая штука, но мне было влом... Разобраться с списками было важнее :)
|
Program No 6
В любом случае, я жду не дождусь нормального webassembly ) Сколько ни развивай JS, а все ограничения не обойти. Хотя бы ограничение в скорости выполнения - как ни крути, а до нативного кода ему никогда не добраться. Жалко, что только С/С++. Я видел обещание, что дойдёт и до C#, но я это как-то слабо представляю. Хотя .Net core ещё куда ни шло ) >примитивы действительно не могут участвовать в дженериках Ужесть ) |
Ластро
|
|
BufferOverflow, Ужесть )
Угу, я бы не догадался. Кстати, кто знает, а почему так сделано? |
Al Lastor
Рискну предположить, дело в том, что эти типы - значимые, в то время как в Java в генериках такое невозможно в силу каких-то причин. Например, из-за невозможности привести к наибазовейшему Object. Слышал, что в ранних версиях джавы нельзя было Object x = (int)y; выполнить, т. к. y - значимый тип. В C# такое возможно с рождения ) |
typescript спасет всех
или не спасет |
Mikie
Typescript - штука хорошая. Как JS, только с человеческим лицом ) Но не ко времени он вышел. На пять лет раньше - был бы востребован. И, возможно, даже поддерживался бы браузерами нативно. А сейчас, когда большая четвёрка браузеров движется к wasm, быть ему не у дел. Ну и опять-таки, он наследует все минусы js кроме отсутствия ООП. |