Результаты поиска по запросу "pattern-matching"

1 ответ

Если вы используете строчное имя в сопоставлении с образцом, Scala заполнит это значение. Если вы хотите совпадать, только если у вас есть это значение, вам нужно использовать имя в верхнем регистре. Оставляя в стороне логику того, что вы пытаетесь сделать, и сомнительное изменение порядка имен, вы хотите:

вая следующий код: case class ChangeSet(field:String, from:Object, to:Object) private var changed:List[ChangeSet] = Nil def change(field:String, from:Object, to:Object) { changed.find{ case ChangeSet(field,_,_) => true } match { ...

5 ответов

также работает, опять же, обратите внимание на -pi.bak для резервного копирования.

я есть файл с содержанием ниже. <td> ${ dontReplaceMe } ReplaceMe ${dontReplaceMeEither} </td>Я хочу сопоставить ReplaceMe, если он находится в теге td, но НЕ, если он находится в выражении $ {...}. Могу ли я сделать это с помощью регулярных ...

0 ответов

Выход будет:

мер, у меня есть строка: aacbbbqqВ результате я хочу иметь следующие совпадения: (aa, c, bbb, qq)Я знаю, что могу написать что-то вроде этого: ([a]+)|([b]+)|([c]+)|...Но я думаю, что я уродлив и ищу лучшее решение. Я ищу решение с регулярным ...

ТОП публикаций

4 ответа

 не бросая противного исключения разбора ...

тловить сразу несколько исключений в Scala? Есть ли лучший способ, чем в C #: Поймать несколько исключений одновременно? [https://stackoverflow.com/questions/136035/catch-multiple-exceptions-at-once]

2 ответа

Как сопоставить шаблон с каждым числовым классом в одном случае?

Предположим, у меня есть def foo(x: Any) = x match { case s: String => println(0) case i: Int => println(1) case l: Long => println(2) //... }Есть ли способ сделать что-то вроде следующего? def foo(x: Any) = x match { case s: String => ...

4 ответа

спасибо за ответ в любом случае :)

ел бы иметь возможность иметь шаблон, который соответствует только выражениям, которые (поочередно: не являются) дочерними элементами некоторых других элементов. Например, шаблон для соответствия всемListне в пределахGraphics объект: { {1,2,3}, ...

2 ответа

 получает в качестве типа наиболее конкретный супертип из перечисленных альтернатив).

жешь написать: str match { case "foo" | "bar" => ... }На первый взгляд это выглядит так| может быть объектом-экстрактором, однако: str match { case |("foo", "bar") => ... }не работает. (И я не вижу, как это можно реализовать в любом ...

2 ответа

Я не знаю, если это именно то, что вы хотите, но это работает

но я играл с сопоставлением с шаблоном scala, и мне было интересно, есть ли способ создать экстрактор внутри оператора case. Следующий код работает, но вы должны сначала определить экстрактор и назначить его в val: val Extr = "(.*)".r "test" ...

3 ответа

Это на самом деле не работает в списках с одним элементом. Для этого вам нужно добавить дополнительный случай.

аю сопоставление с образцом в списке. Можно ли в любом случае получить доступ к первому и последнему элементу списка для сравнения? Я хочу сделать что-то вроде .. case List(x, _*, y) if(x == y) => trueили же case x :: _* :: y => или что-то ...

3 ответа

* Разбирая.

начит неопровержимый шаблон не удалось для шаблона значит? Какие случаи вызовут эту ошибку во время выполнения?