Рубрика: Scala

Поиск. КМП-алгоритм

Недавно на досуге решил написать алгоритм КМП  (Кнута — Морриса — Пратта) для Scala. Изначально, мне нужно было решить простенькую задачку — найти последовательность байт в потоке байтов. Сделал на Java. Потом, решил сделать тоже самое на Scala. Занятно, но в стандартной библиотеке коллекций Scala используется именно КМП поиск. Вот мой вариант.

Читерство в NetBeans. Ввод и использования мат. символов и букв греческого алфавита.

Оригинальная идея взята из поста Gabriel’s software development blog. Статья довольно старая, опубликована еще в прошлом году . Если коротко: def √(x:Double)=Math.sqrt(x) def ∑(r:Range)(f:Int => Int)=r.foldLeft(0)(_+ f(_)) def ∏(r:Range)(f:Int => Int)=r.foldLeft(1)(_* f(_)) val s= ∑(1 to 100)(x=>√(x))def √(x:Double)=Math.sqrt(x) def ∑(r:Range)(f:Int => Int)=r.foldLeft(0)(_+ f(_)) def ∏(r:Range)(f:Int => Int)=r.foldLeft(1)(_* f(_)) val s= ∑(1 to 100)(x=>√(x)) Это обычный […]

Магия унарных операторов в Scala (unary_)

Многие знают, что в Scala возможна перегрузка операторов. К примеру, пусть у нас будет класс — двухмерная точка: class Point(val x: Double, val y: Double) {   def -(p: Point) = new Point(x-p.x, y-p.y); def +(p: Point) = new Point(x+p.x, y+p.y);   }class Point(val x: Double, val y: Double) { def -(p: Point) = new […]

Практикум по программированию на Java и Scala. Занятие №4.

Продолжаю вести практикум по программированию на Java и Scala. Сегодня было четвертое занятие. Я уже стал многих студентов узнавать в лицо. В среднем на занятия приходит около 25 человек. Аудиторию нам дали хорошую, есть проектор, и вроде неплохие компьютеры. На них уже был установлен Eclipse  или NetBeans.

For в Scala

Цикл for в Scala. for ( i < — 1 to 10) { println(i) }for ( i < — 1 to 10) { println(i) } Что получится в итоге? Здесь все понятно. На консоль будут выведены числа от 1 до 10 включительно. Как это работает? Здесь немножко сложнее… Число 1 — это Int, будет неявно […]

Опять Scala

Начал формировать небольшой справочник с примерами на Scala для собственного пользования. Импорт import java.util.{Date,Calendar} import java.util.logging._import java.util.{Date,Calendar} import java.util.logging._ Простой цикл for ( x < — 1 to 10) { println(x) }for ( x < — 1 to 10) { println(x) } Получить класс classOf[String] // Например: LoggerFactory.getLogger(classOf[Foo])classOf[String] // Например: LoggerFactory.getLogger(classOf[Foo]) Создать список val x […]

Учебное пособие по Scala. Вольный перевод.

В связи с малым количеством (на момент публикации этого поста) полноценных учебных материалов по языку программирования Scala на русском языке , постарался сделать простой перевод краткого пособия. Оригинальная статья лежит здесь http://www.scala-lang.org/docu/files/ScalaTutorial.pdf Корректура текста будет осуществляться после публикации, по ходу получения отзывов, комментариев и повторной вычитки. Возможно, через некоторое время выложу PDF-версию. Scala Tutorial. Авторы: […]