Początkowo sądziłem, że istnieje literał dla utworzenia listy, ale najwyraźniej się myliłem, bo…
scala> () scala> val a = () a: Unit = ()...jest to oznaczenie dla typu scala.Unit, w którym "There is only one value of type Unit, (), and it is not represented by any object in the underlying runtime system. A method with return type Unit is analogous to a Java method which is declared void."
Myślałem sobie, że może
()
ma specjalne traktowanie w Scali, podobnie jak w Clojure, dla którego oznacza pustą listę. Spróbowałem więc…scala> (1, 2, 3) res1: (Int, Int, Int) = (1,2,3) scala> res1.getClass res2: Class[_ <: (Int, Int, Int)] = class scala.Tuple3...co okazało się być tym razem jeszcze innym typem scala.Tuple3, a nie oczekiwaną listą. Cóż pozostaje przyzwyczaić się do zapisu...
scala> List(1, 2, 3) res3: List[Int] = List(1, 2, 3)lub
scala> 1 :: 2 :: 3 :: Nil res4: List[Int] = List(1, 2, 3)...i poczytać dokumentację dla scala.collection.immutable.List. Zacznę od Lists w Scala Documentation.
Nie za krótki wpis? Nie za trywialny? Kontynuować wspólne poznawanie Scali w serii takich wpisów czy może uzupełnić to i owo? Sugestie mile widziane.
Poczytałbym o builderach. Temat nie taki trywialny, a wielu początkujących ma z tym problem.
OdpowiedzUsuńNawet nie wiem, o czym piszesz, więc temat odłożony na za kilka dni/tygodni, kiedy dotrę do nich. Masz może jakiegoś linka, gdzie znalazłeś to?
UsuńRobisz totalny bajzel w głowie ludziom, którzy nie mają pojęcia o scali a chcieliby sie czegoś dowiedzieć...
OdpowiedzUsuńZaproponuj zmianę, a ustosunkuję się do niej. Ludzie różnie uczą się i nie wszystkim spasujesz. Co jest nie tak w tym wpisie? Jest inny?! I dobrze!
UsuńJest bezsensu, kompletnie nic nie wyjasnia, skupia sie na literałach dla list które kompletnie nie maja zadnego znaczenia, obija sie o Unit i Tuple i zostawia czytelnika z jednym wielkim WTF
UsuńTam zaraz bezsensu. Po prostu Ty go nie dostrzegasz, bo wiesz, co w trawie piszczy. Inni, mniej doświadczeni (ja), widzą w tym samo dobro, szczególnie po klimatach z Clojure. Dla mnie tak zaczyna się przygoda ze Scalą, bo przychodzę z Clojure. Właśnie z myślą o Clojure'ians głównie myślałem.
UsuńNapiszę odpowiednik Twojego artykułu w jednym zdaniu:
OdpowiedzUsuń"Artykuł o listach"
W Języku X jest struktura danych zwana listą. Możesz je stworzyć poprzez "tak i siak". Ale Tupla i Unit też są.
I tyle jest treści w Twoim arcie.
Jeśli piszesz na temat List, a Twój post zawiera brak informacji na temat list.. To o czym to świadczy?
teamon ma całkowitą rację, wprowadzasz ewentualnych czytelników w zakłopotanie, i to nie tylko brakiem uczących treści..
Jeśli nie masz dość wiedzy by napisać cokolwiek sensownego, proponuję nie pisać nic i nie robić artykułu o Listach gdzie nie ma niczego sensownego o listach. Niezależnie od tego jak bardzo nie znasz clojure czy scali, powinno Ci być wstyd pisać takie rzeczy i jeszcze bronić się swoim brakiem wiedzy.
Poza tym, jeśli jesteś faktycznie taki dobry w Javie, to przejście na Scalę powinno być znacznie prostsze niż przejście z Clojure na Scalę. To że oba języki dzielą się sugerowanym paradygmatem programowania, nie znaczy, że mają podobną składnię. Scala ma w zasadzie zachowaną składnię Javy.. więc takie coś jak tu napisałeś nie powinno w Twoim przypadku w ogóle mieć miejsca.
Chyba najwyższy czas zacząć jechać ciętą ripostą na ten bełkot, który promujesz na blogu..
Jak komuś nie pasuje, to proponuję nie czytać.
UsuńAle jak czytać to może ze zrozumieniem?
Jacek napisał m.in.:
"Początkowo sądziłem, że (...), ale najwyraźniej się myliłem, bo…"
"Myślałem sobie, że (...). Spróbowałem więc…"
Skąd wniosek że wpis jest o listach? Ja bym raczej stwierdził że Jacek napisał o swoich zmaganiach ze Scalą, albo że po prostu napisał na swoim blogu o sobie. Co w tym złego?
Ja wszystko rozumiem. Tylko jak robię "Zupę ogórkową" to nie mam na myśli robienia "Żeberek w sosie". Jeśli to o przemyślenia i wywody egzystencjonalne chodzi, to co one mają wspólnego z tematem wpisu? Co mają wspólnego ze Scalą? I jaką mają wartość dla czytelnika?
UsuńIMHO lepiej prowadzić pamiętnik.
"Skąd wniosek że wpis jest o listach?"
Nie no wiesz.. tytuł wpisu sugeruje faktycznie, że rozmowa będzie o bólu brzucha księdza proboszcza...
Myślę że przesadziłem pisząc o "zrozumieniu" (co mogło sugerować brak zrozumienia) więc przepraszam.
UsuńNo faktycznie na podstawie tytułu wniosek może być uprawniony.
Ale czy mamy przypadek artykułu-nie-o-listach z nieadekwatnym tytułem czy też artykułu-o-listach w którym jest brak informacji o listach (coś tam jednak o listach się znalazło, prawda?), czy może artykułu-o-różnych-sprawach-w-tym-trochę-o-listach to pewnie kwestia interpretacji. Ale to jest blog (czy blog to nie rodzaj pamiętnika?) a nie pismo naukowe i ja nie mam pretensji o tytuł (ani o treść) do autora.
A w sprawie wartości dla czytelnika to zależy od czytelnika, ale dla mnie (i może dla osób które zajmują się/chcą się zajmować nauczaniem Scali i/lub programowania funkcyjnego) mają wartość opowieści o trudach poznawania Scali, o tym co jest trudne, niezrozumiałe, niejasne, co sprawia kłopoty itp. Więc jak dla mnie to chętnie poczytam więcej wpisów tego typu.
Grzesiek dobrze wyczuł moje podejście do sprawy - pisząc o poznawaniu Scali, utrwalam wiedzę, bo tłumacząc coś komuś zawsze pozwala mi na zwizualizowanie treści. Podoba mi się najbardziej to zdanie, bo oddaje ducha tego bloga: "Jak komuś nie pasuje, to proponuję nie czytać." Dzięki Grzesiek!
UsuńJacku,
OdpowiedzUsuńJeśli można prosić: Grzesiek przyszedł Ci w sukurs, miłe byłoby zrewanżowanie się. Jeśli mógłbyś wyciąć pierwszą linijkę i nieco zmienić temat, myślę, że będzie ok. ;-)
Oczywiście, jest też opcja rozszerzenia treści. Jak preferujesz, obie pewnie zadziałają. :-)
Można prosić, ale rozumiem, że pozostawiasz mi prawo odmowy, albo przyjęcia częściowego rozwiązania ;-) Tym razem skorzystam z prawa odmowy zastosowania się do zaleceń jako nieadekwatne do mojego postrzegania otaczającego mnie świata. Szczęśliwie świat mamy jeden, ale jego rozumienie odmienne. I to nas czyni debeściakami jedynymi w swoim rodzaju! :-)
UsuńMyślę, że takie wspólne poznawanie scali jest raczej bez sensu (choć na pewno niektórym jest raźniej czytać coś po polsku), skoro istnieją wspaniałe książki online. Lepiej pisać takie luźne notki o tym co Cię zaintrygowało, przykuło uwagę albo o tym jak kiedyś robiłeś to w javie a teraz w scali wygląda to tak i tak. Coś w ten deseń.
OdpowiedzUsuńEeee tam, zaraz bez sensu. Kilka osób zgodziłoby się z Tobą, ale znam kilka, które piszą, że im pasuje (niestety jedynie poza blogiem). Tyle opinii, ile ludzi i bez tej różnorodności pewnie pisalibyśmy wciąż w Cobolu. A tak mamy i Scalę, i Clojure, i Javę i wiele innych ciekawych języków (choćby ostatnio wspominany przez Grześka Elm). Dla każdego coś miłego.
UsuńWspólna praca nad konkretnym tematem, daje możliwość powstania zjawiska zwanego synergią - to raz. O ile wypowiedź jest adekwatna do tematu i zawiera treści uczące, wspólnie można dojsć do satysfakcjonujących rezultatów, mniejszym nakładem sił.
OdpowiedzUsuńMożna też pomóc początkującym w samorozwoju, pobudzić ciekawość, nakierować.
I wtedy będzie to miało prawdziwą wartość.
Mądrala. Zaraz mi wyjeżdża za synergią. Może pokierujesz kolegę Jacka do ostoi wiedzy scalowej Twojego autorstwa, w którym pojawia się **Twoje** spojrzenie na świat? Moje nie należy do najdoskonalszych, ale chociaż można wczuć się w moje położenie i to jest główna idea tego bloga. Chcę jedynie wciągnąć kilka innych osób do dyskusji, którą inicjuję pisząc o swoich przemyśleniach publicznie. Nie zawsze mi się udaje, jak można zauważyć po tej dyskusji, ale z drugiej strony, czy nie osiągnąłem zamierzonego celu i wciągnąłem kilka osób do mojego świata (choćby na chwilę)?!
Usuń