Funções

Compatibilidade (Tipo do Argumento):
Sass de Dart
LibSass
since 3.5.0
Sass de Ruby
since 3.5.0

As funções também podem ser valores! Tu não podes escrever diretamente uma função como um valor, mas podes passar um nome de função para a função meta.get-function() para recebê-la como um valor. Assim que tiveres um valor de função, podes passá-lo para a função meta.call() para chamá-la. Isto é útil para escrita de funções de ordem mais elevada que chamam outras funções:

SCSS Syntax

@use "sass:list";
@use "sass:meta";
@use "sass:string";

/// Retorna uma cópia de $list com todos os elementos para os quais $condition retorna `true`
/// removido.
@function remove-where($list, $condition) {
  $new-list: ();
  $separator: list.separator($list);
  @each $element in $list {
    @if not meta.call($condition, $element) {
      $new-list: list.append($new-list, $element, $separator: $separator);
    }
  }
  @return $new-list;
}

$fonts: Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;

.content {
  @function contains-helvetica($string) {
    @return string.index($string, "Helvetica");
  }
  font-family: remove-where($fonts, meta.get-function("contains-helvetica"));
}