~ (Sonderzeichen)

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Die Tilde ~ ist außerhalb Spaniens ein eher seltenes Zeichen. Wir finden sie aber in CSS und JavaScript. Und übrigens auch im Selfhtml Forum und im Wiki!

CSS verwendet sie in Attributselektoren, um zu prüfen, ob ein Attribut ein bestimmtes Wort enthält – also eine Zeichenfolge, die durch Leerzeichen eingeschlossen ist. Ein Element wie

  <p data-test="das ist ein test">...</p>

lässt sich zum Beispiel mit dem Selektor [data-test~=ein] selektieren. Ohne die ~= Abfrage würde es schwierig, denn die Zeichenfolge ein kann sich in einer Hundeleine verstecken, wo man sie mit Leerzeichen herauslocken könnte, aber sie kann ja auch am Anfang oder Ende des Attributwertes stehen.

Man könnte ~= verwenden, um zu prüfen, ob ein Element eine bestimmte Klasse hat, aber dafür gibt es ja den wesentlich bequemeren Klassenselektor.

In JavaScript oder PHP dient ~ als Operator für die binäre Negierung eines ganzzahligen Wertes. Über Bitmanipulation haben wir schon am 8.12. und 18.12. gesprochen, schau dort einmal nach, falls Du diese Türchen übersprungen hast. Mit ~a erhält man einen Binärwert, in dem jedes einzelne Bit durch sein Gegenteil ersetzt wurde, jede 0 durch eine 1 und jede 1 durch eine 0. Aus ~1234 wird so zum Beispiel -1235. Am 08.12. haben wir auf den Artikel zur Rechnerarithmetik verwiesen, in dem die Darstellung negativer Zahlen auf Bitebene erklärt wird. Da steht sinngemäß: „Das Zweierkomplement entsteht durch das Invertieren aller Bits und Addition von 1“. Mit ~ werden alle Bits invertiert, aber die Addition von 1 fehlt noch. Deswegen ergibt ~1234 eins weniger als -1234. Logisch, oder?

Unser Forum verwendet Markdown zur Formatierung von Text. Markdown verwendet die Tilde zu zwei Zwecken. Einerseits zum durchstreichen: ~~gestrichen~~ bewirkt im Forum die Ausgabe gestrichen. Zum anderen verwenden wir es für Codebeispiele. Mit einer Dreifachtilde beginnt und beendet man einen Textblock, der Code enthält. Hinter der ersten Dreifachtilde notiert man darüber hinaus ein Kürzel für die verwendete Programmiersprache, um passendes Syntaxhighlighting zu erhalten (für PHP muss man allerdings den Beitrag erst speichern, um das Highlighting zu sehen!). Ein JavaScript-Snippet würde man im Forum so erstellen:

  ~~~js
  function test() {
     console.log("Hallo Welt");
  }
  ~~~

Hinter der Sprache kann man noch ein ,good oder ,bad anfügen, um den Code als besonders gut oder besonders schlecht hervorheben zu lassen.

Hier im Wiki sollte man mit eine Dreifach- oder gar Vierfachtilde allerdings vorsichtig sein. Es sei denn, man möchte seinen Beitrag mit einem Link zu seiner Benutzerseite und einem Zeitstempel signieren.

~~~ ergibt Rolf b (Diskussion)
~~~~ ergibt Rolf b (Diskussion) 22:22, 16. Dez. 2023 (CET)

Äh, ja, dieser Kalender entsteht ziemlich zeitnah…