Полезности при работе со SketchUp

Полезные комбинации клавиш

  • Crtl+Shift+E – показать все сцену целиком
  • K – включает невидимые линии (но работает без нагрузки на видеокарту)
  • Z – (по умолчанию перспектива 35º, рекомендуется установить 135)

 

Обработка ошибок с типом TRY

Появился в Scala 2.10.0 и был портирован в Scala 2.9.3.

Как и в других языках Scala позволяет производить выбрасывание исключений:

 

Выброшенные исключения могут быть отловлены и обработаны с помощью блоков Try/Catch содержащих частично применяемые функции, которые указывают на типы, исключений, которые мы хотим обработать. Кроме того, в scala блок Try/Catch – это выражение которое может иметь результат.

Например, так:

 

Обработка ошибок функциональным способом

Обработка ошибок классическим способом плохо сочетается с функциональным программированием, такой подход также очень плохо сочетается с параллелизмом. Например, в системе Акторов, если исключение происходит в другом акторе, то это означает, что Вы не можете поймать это исключение, так как оно находиться в другом потоке выполнения, но информация об ошибке не должна теряться.

Для решения таких задач в Scala предусмотрена возможность возвращать значение соответствующе ошибке из функций. Это достигается применением типа Try включенного в состав Scala. Кроме того, существует более обобщенный тип Either.

подробнее

Опциональный тип Option

Иногда при работе с Java возникает NullPointerException, это происходит потому, что некоторые методы могут возвращать null, а не ожидаемое вами значение и такое поведение не проверяется в использующем такую функцию коде. Значение null часто используется для представления отсутствующего значения.

При этом подобные концепции встречаться и в других языках, более того некоторые языки (например: Groovy) имеют встроенную поддержку конструкций для работы с такими значениями.

Scala пошла другим путем и создала свой тип для представления того, что значение может быть или его может не быть это трейт Option[A].

Option[A] – это контейнер для значения типа A, при этом если значение присутствует, то Option[A] – это экземпляр Some[A] содержащий значение типа A . Если значение отсутствует то Option[A] – это объект None.

Такой подход обязует всех разработчиков использующих док учитывать такую природу значений в своем коде, при этом работа с таким типом контролируется компилятором, что делает невозможным не правильную трактовку значений.

подробнее

Создание прилипающего меню для сайта

Пускай есть некоторое меню

Которое мы хотим зафиксировать при прокрутке.

подробнее

Операторы/методы языка Scala

В скала нет понятия оператор, есть понятие метода. Все операторы сводятся к вызовам методов.

Особенности вызовов методов (в том числе и операторных)

Если метод имеет один параметр, то его можно вызвать:

S.indexOf(“eee”)

А можно вызвать как (упустив точку и скобки вокруг аргументов):

S indexOf “eee”

Если аргументов несколько, то можно упустить точку:

S indexOf (5,“eee”)

Если у метода нет параметров то можно упустить точку и/или скобки:

Вместо 7.toString() написать 7 toString или 7.toString

подробнее