Вопросы с тегом «scala»

Scala - это язык программирования общего назначения, в основном предназначенный для виртуальной машины Java. Разработанный для краткого, изящного и безопасного для типов представления общих шаблонов программирования, он сочетает в себе как императивный, так и функциональный стили программирования. Его основными характеристиками являются: усовершенствованная система статического типа с выводом типа; типы функций; сопоставления с образцом; неявные параметры и преобразования; перегрузка оператора; полная совместимость с Java; совпадение

4
Что означает «коалгебра» в контексте программирования?
Я слышал термин «коалгебры» несколько раз в функциональном программировании и кругах PLT, особенно когда речь идет об объектах, комонадах, линзах и тому подобном. Погуглив этот термин, вы найдёте страницы, которые дают математическое описание этих структур, что для меня довольно непостижимо. Может ли кто-нибудь объяснить, что означают коалгебры в контексте программирования, …

5
Что такое запечатанная черта?
Запечатанные классы описаны в «Программирование в Scala», но запечатанные черты - нет. Где я могу найти больше информации о запечатанном признаке? Я хотел бы знать, является ли запечатанная черта такой же, как у запечатанного класса? Или, если нет, в чем различия? Когда стоит использовать запечатанную черту (а когда нет)?
332 scala  sealed  traits 

8
Какая формальная разница в Scala между фигурными скобками и скобками, и когда они должны использоваться?
В чем формальная разница между передачей аргументов функциям в скобках ()и фигурных скобках {}? Чувство, которое я получил от книги « Программирование в Scala», заключается в том, что Scala довольно гибкая, и я должен использовать ту, которая мне нравится больше всего, но я считаю, что некоторые случаи компилируются, а другие …

11
Как использовать java.String.format в Scala?
Я пытаюсь использовать .formatметод строки. Но если я помещаю% 1,% 2 и т. Д. В строку, генерируется java.util.UnknownFormatConversionException, указывающее на запутанный фрагмент исходного кода Java: private void checkText(String s) { int idx; // If there are any '%' in the given string, we got a bad format // specifier. if …
322 java  string  scala  format 

18
Читать весь файл в Scala?
Какой простой и канонический способ чтения всего файла в память в Scala? (В идеале, с контролем над кодировкой символов.) Лучшее, что я могу придумать, это: scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_) или я должен использовать один из ужасных идиом Java , лучший из которых (без использования внешней библиотеки): import java.util.Scanner import java.io.File new Scanner(new File("file.txt")).useDelimiter("\\Z").next() …
312 scala 



3
Что такое функция применения в Scala?
Я никогда не понимал этого из придуманных, неуместных и глагольных существительных (у AddTwoкласса есть класс, applyкоторый добавляет два!) Примеров. Я понимаю, что это синтаксический сахар, поэтому (я понял из контекста) он должен был быть разработан, чтобы сделать некоторый код более интуитивным. Какой смысл дает класс с applyфункцией? Для чего он …
311 scala 

7
Понимание неявного в Scala
Я пробирался через учебник по игровой структуре Scala и наткнулся на фрагмент кода, который меня озадачил: def newTask = Action { implicit request => taskForm.bindFromRequest.fold( errors => BadRequest(views.html.index(Task.all(), errors)), label => { Task.create(label) Redirect(routes.Application.tasks()) } ) } Поэтому я решил исследовать и наткнулся на этот пост . Я до сих …



19
Как мне выйти из цикла в Scala?
Как мне разорвать петлю? var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here else if(product.toString.equals(product.toString.reverse)) largest=largest max product } } Как превратить вложенные циклы в хвостовую рекурсию? Из Scala Talk на FOSDEM 2009 …

5
Что такое более высокий тип в Scala?
Вы можете найти следующее в Интернете: Тип с более высоким родом == Конструктор типа? class AClass[T]{...} // For example, class List[T] Некоторые говорят, что это тип с более высоким родом, потому что он абстрагируется от типов, которые будут соответствовать определению. Типы с более высоким родом - это типы, которые принимают …

1
Как использовать Shapeless в квазицитате?
Я пытаюсь вызвать Shapelessмакрос изнутри quasiquoteс, Scalaи я не получаю то, что я хотел бы получить. Мой макрос не возвращает никаких ошибок, но не расширяется Witness(fieldName)вWitness.Lt[String] val implicits = schema.fields.map { field => val fieldName:String = field.name val fieldType = TypeName(field.valueType.fullName) val in = TermName("implicitField"+fieldName) val tn = TermName(fieldName) val …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.