{"id":122,"date":"2012-04-24T11:59:39","date_gmt":"2012-04-24T09:59:39","guid":{"rendered":"https:\/\/herr-rau.de\/blogs\/inform\/?page_id=122"},"modified":"2012-06-04T10:29:49","modified_gmt":"2012-06-04T08:29:49","slug":"variablen","status":"publish","type":"page","link":"https:\/\/herr-rau.de\/blogs\/inform\/?page_id=122","title":{"rendered":"Variablen"},"content":{"rendered":"<p>Es gibt globale Variablen, Variablen als Attribute von Objekten, und lokale Variablen mit Geltungsbereich nur innerhalb der aktuellen Methode.<\/p>\n<p>M\u00f6gliche Datentypen (siehe dort) sind als primitive Datentypen <code>number, text<\/code> und <code>truth state<\/code>; als Referenzdatentypen k\u00f6nnen eigene und mitgelieferte Klassen verwendet werden.<\/p>\n<hr\/>\n<h3>Globale Variablen<\/h3>\n<p>Deklarieren von globalen Variablen, die nicht einem bestimmten Objekt zugeordnet sind:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">Danger level is a number that varies.<\/pre>\n<p>Oder ebenso gut und vielleicht etwas vertrauter:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">Danger level is a number variable.<\/pre>\n<hr\/>\n<h3>Deklarieren von Attribut-Variablen<\/h3>\n<p>Deklarieren von Variablen, die als Attribut einer neuen Klasse verwendet werden:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nA bank manager is a kind of person.\r\nIt has a text called job description. &#x5B;auch: He has\/She has\/They have]\r\nIt has a number called age.\r\nIt has a truth state called busy. Busy is usually true. &#x5B;mit Initialisierung]\r\nIt has a person called lawyer.\r\n<\/pre>\n<p>Deklarieren von Variablen, die als Attribut einer bestehenden Klasse zugef\u00fcgt werden:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nEvery thing has a number called worth.\r\n<\/pre>\n<p>Deklarieren von Variablen, die als Attribut einem bestehenden <em>Objekt<\/em> zugef\u00fcgt werden:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nMax is a man. He has a number called age.\r\n<\/pre>\n<p>Deklarieren von <em>unbenannten<\/em> Variablen bei bestehenden Klassen:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nA person can be good, bad or mediocre.\r\nPeople usually are good. &#x5B;Initialisierung]\r\nBank managers can be occupied or free. &#x5B;mit genau diesen zwei Wert-M\u00f6glichkeiten]\r\nBank managers usually are occupied.  &#x5B;Initialisierung]\r\nBank managers can be either asleep or awake. &#x5B;mit diesen zwei Wert-M\u00f6glichkeiten, wobei not asleep das gleiche ist wie awake und umgekehrt]\r\nBank managers usually are awake.  &#x5B;Initialisierung]\r\n<\/pre>\n<p>Diese unbenannten Variablen gibt es nur bei Klassendefinitionen; sie k\u00f6nnen keinem einzelnen Objekt hinzugef\u00fcgt werden.<br \/>\nWer will, kann den nicht booleschen unter ihnen doch noch einen Namen geben, intern haben sie ohnehin einen:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nA person can be good, bad or mediocre (this is the goodness property).\r\n<\/pre>\n<hr\/>\n<h3>Initialisierung von Variablen<\/h3>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nMax is a bank director.\r\nThe job description of Max is &quot;Big Man&quot;. &#x5B; text]\r\nThe age of Max is 42. &#x5B;number]\r\nThe busy of Max is false. &#x5B;truth state]\r\nMax is mediocre. &#x5B;unbenanntes Attribut, Enum-Typ]\r\nMax is not occupied. &#x5B;unbenanntes Attribut, boolean]\r\nMax is not awake. &#x5B;unbenanntes Attribut, boolean - not awake = asleep]\r\nThe lawyer of Max is Nathalie. &#x5B;Referenzattribut]\r\n<\/pre>\n<hr\/>\n<h3>Neuzuweisung von Werten an Variablen<\/h3>\n<p>Das geschieht mit dem Schl\u00fcsselwort <code>now<\/code> und ist nur innerhalb von Methoden m\u00f6glich:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nNow the age of Max is 42.\r\nIncrease the age of Max by one.\r\nDecrease the age of Max by 1.\r\n<\/pre>\n<hr\/>\n<p>Variablen werden immer initialisiert, sie k\u00f6nnen nie den Wert <em>null<\/em> haben. Bevor man dem System \u00fcberl\u00e4sst, welchen Default-Wert er zu weist, sollte man bewusst einen Wert angeben. Zahlen und Text sind kein Problem, da ist der Standardwert 0 bzw. &#8220;&#8221;, bei nicht-primitiven Datentypen nimmt das Programm allerdings das erstbeste vom Typ passende Objekt zur Initialisierung.<\/p>\n<hr\/>\n<h3>Geltungsbereich Variablen<\/h3>\n<p>Alle Variablen sind public.<\/p>\n<hr\/>\n<h3>Lokale (tempor\u00e4re) Variablen<\/h3>\n<p>Die Argumenten von Funktionen im engeren und weiteren Sinn (siehe dort) k\u00f6nnen innerhalb der Funktion als lokale Variablen verwendet werden:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nTo decide on what number is the square of (x - a number):\r\n\tdecide on x times x.\r\n<\/pre>\n<p>Oder etwas Inform-spezifischer:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nInstead of eating an edible plant (called the food):\r\n\tsay &quot;&#x5B;The food] is okay. Lots of vitamins.&quot;;\r\n\tremove the food from play.\r\n<\/pre>\n<p>Innerhalb von Methoden im engeren und weiteren Sinn (siehe dort) k\u00f6nnen lokale Variablen deklariert und verwendet werden, wie bei dieser klassischen Potenzberechnungsmethode. Das geschieht mit dem Schl\u00fcsselwort <code>let:<\/code><\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">To decide what number is (base - a number) to the power of (exponent - a number):\r\n\tlet the result be one;\r\n\twhile exponent is greater than zero:\r\n\t\tnow the result is the result times base;\r\n\t\tdecrease exponent by one;\r\n\tdecide on the result.<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Es gibt globale Variablen, Variablen als Attribute von Objekten, und lokale Variablen mit Geltungsbereich nur innerhalb der aktuellen Methode. M\u00f6gliche Datentypen (siehe dort) sind als primitive Datentypen number, text und truth state; als Referenzdatentypen k\u00f6nnen eigene und mitgelieferte Klassen verwendet &hellip; <a href=\"https:\/\/herr-rau.de\/blogs\/inform\/?page_id=122\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":94,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-122","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/pages\/122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=122"}],"version-history":[{"count":0,"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/pages\/122\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/pages\/94"}],"wp:attachment":[{"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}