PureBasic - Урок, типове данни (променливи)

* Глава 13 ще обясни

В таблицата можете да забележите, че много типове данни имат числово ограничение, това е пряко свързано с количеството памет, разпределено за определен тип. Количеството RAM, разпределено за числови типове данни, е горе-долу същото като в C. Но имайте предвид, че в C ще намерите много други типове данни, различни от изброените тук, но PureBasic е направен просто така, че да не навеждате главата си стотици прогресивни видове. За начинаещи всичко, което трябва да запомните, е числените граници на всеки тип и да разберат какво е неприемливо. За да обясня защо паметта, разпределена за всеки тип, засяга количествената граница, трябва да обясня как тези числа се съхраняват в паметта въз основа на двоични данни. Можете да намерите това в глава 13 (По-подробен поглед към числовите типове данни).

Низовете са толкова важен и полезен тип данни, че съществуват в почти всеки наличен език за програмиране. Както подсказва името им, струните са просто колекция от знаци. За разлика от числата, за да се дефинира низ, той трябва да бъде затворен в кавички. Ето някои примери за този синтаксис:

"abcdefghijklmnopqrstuvwxyz" "Мери имаше малко агне" "123456789"

Обърнете внимание на последния ред от числа. Все още е низ, тъй като числата са цитирани. Низовете са може би най-простият тип данни за разбиране, защото са много лесни за използване. Трябва само да запомните, че символите, написани в двойни кавички, са низ.

Типове низове PureBasic

* Определя се от дефинираната от потребителя дължина.

Променливи и константи

За да съхранявате и управлявате данни във всяка програма, трябва да използвате правилния тип данни в паметта, но също така се нуждаете от начин за лесно намиране на тези данни в паметта. Променливите и константите решават този проблем. Като присвоите име на конкретна част от данните, можете лесно да се обърнете към него по-късно. Ако присвоите някои данни на променлива, можете лесно да я промените по-късно. Декларираната стойност на константата вече не може да се променя.

Обикновено името на променлива е обвързано с определена област и размер на паметта (определя се от нейния тип данни) и всички операции с променливата ще манипулират областта на паметта. Името на променливата не е задължително и може да бъде каквото и да е, но много хора го правят възможно най-описателно, за да предадат значението на съдържанието му. Променливите са градивните елементи на всяка компютърна програма, тъй като те съхраняват данни, които могат да бъдат манипулирани. Променливите са необходими за организиране и съхраняване на данни. Добре, нека най-накрая да започнем да практикуваме в PureBasic. Нека да отворим IDE на PureBasic и да създадем първата си променлива. За да създадете променлива, трябва да въведете името на променливата. След името посочете суфикса, който определя вида на променливата, а след това с оператора = присвояване на стойност:

Обърнете внимание на името на променливата, в нея няма интервали и не трябва да бъде! Ако искате да отделите думи в променлива за по-добро разбиране на кода, използвайте долното тире:

Можете да използвате всяко име за променливата, но има няколко ограничения. Имената на променливите не трябва да започват с число. Името не може да бъде същото като на някой от операторите (Dim, Print и др.). Също така не се допускат специални знаци.

В края на името на променливата се добавя суфикс. b Той ще каже на компилатора, че тази променлива ще използва 1 байт памет.
Ако типът на суфикса не се използва, тогава записът изглежда така:

Тогава променливата ще има типа Дълго това е зададено по подразбиране от компилатора. PureBasic предоставя възможност за промяна на типа по подразбиране с
оператор Определете:

Определете.б
NumberOfLinesOfCode = 1
Днешната дата = 11

Екип Определете има суфикс в края, необходим за дефиниране на типа по подразбиране за целия код. Но може да бъде дефиниран и за отделни променливи, тогава тази команда ще бъде валидна само за тях:

Ако искате да декларирате няколко променливи за по-късна употреба, но не искате да им давате стойности, тогава можете да използвате този синтаксисен стил:

Определете.w ден, месец, година

Този код присвоява типа Word на три променливи Ден, Месец и Година. Тъй като те са посочени без стойности, им се присвоява стойността 0 (нула).
И сега пример, показващ как да създадете всички видове променливи в PureBasic:

ByteVariable.b = 123
CharVariable.c = 222
WordVariable.w = 4567
LongVariable.l = 891011

QuadVariable.q = 9223372036854775807
FloatVariable.f = 3.1415927
DoubleVariable.d = 12.53456776674545
StringVariableOne.s = "Тестване на низ един"
StringVariableTwo $ = "Тестов низ два"
StringVariableThree.s = "abcdef"
StringVariableFour $ = "abc"

Ще забележите, че последните четири променливи са низове, но всички те имат различни суфикси. Първите две са с неограничена дължина на низа, а последните две са с фиксирана дължина. Суфикси и $ . И двете са идентични във всяко отношение. Просто единият е старият стил, а другият е нов. Можете да използвате едното или и двете във вашата програма. Но помнете: те не са взаимозаменяеми. Например тези две променливи са различни:

StringVariable.s = "Тестване на низ един"
StringVariable $ = "Тестов низ два"

Въпреки че имат едно и също име, различните суфикси показват, че те са различни променливи. Не ми вярвате? Е, можете да го проверите:

StringVariable.s = "Тестване на низ един"
StringVariable $ = "Тестов низ два"
Debug StringVariable.s
Debug StringVariable $

Отстраняване на грешки StringVariable $ + " + StringVariable.s

И сега, по ред. Присвояване на променливи StringVariable.s и StringVariable $ различни значения. И след това с помощта на командата Отстраняване на грешки покажете резултатите в прозореца за отстраняване на грешки. Изпълнете кода, като натиснете F5. В прозореца за отстраняване на грешки трябва да има три резултата:

Тестов низ един

Тестов низ 2

Test String Two Test String One (резултат от добавяне на два низа). " се използва за разделяне с интервал

Екип Отстраняване на грешки използва се изключително за отстраняване на грешки. Тези команди ще бъдат автоматично премахнати в крайния EXE файл и ще ви бъдат от голяма помощ в бъдеще. Ще го използвате много често, особено когато резултатите са различни от това, което бихте искали да видите.

И бих искал да отбележа още един момент. Променливите не са чувствителни към малки и големи букви. Обърнете внимание на следния пример:

TestVariable.s = "Тестов низ един"
testvariable = "Тестов низ два"
TeStVaRiAbLe = "Тестов низ три"
Отстраняване на грешки tEsTvArIaBlE

Вероятно сте мислили, че съм присвоил различни стойности на три различни променливи. Всъщност всеки път присвоявах различни стойности на една и съща променлива. Номерът е, че ако сме присвоили тип на която и да е променлива (в нашия случай String), тогава през следващия живот на програмата тази променлива ще има този тип. И не е нужно да пишем наставка всеки път. А сега пример за грешен код, в който компилаторът ще се закълне:

StringVariable.s = "Тестване на низ един"
StringVariable = 100

Ако се опитате да стартирате, ще получите учтиво съобщение от IDE, че не можете да записвате числови стойности в променлива String. Следният пример ще работи:

StringVariable.s = "Тестване на низ един"
StringVariable = "Сто"

Тъй като променливата StringVariable първоначално е деклариран като низ, тогава в него могат да се въвеждат само низове.
Сега нека обобщим основните правила за променливите:


Константите са подобни на променливите, тъй като те осигуряват лесен начин за достъп до данни и могат да бъдат назовавани, както искате, но приликите свършват. Константите се използват, когато искате дадена част от данните, веднъж назначени, да не се променя по време на изпълнението на програмата. Обърнете внимание на следния пример:

Знаем, че броят на дните, например тази година, е стандартен и няма да се промени и можем да използваме константа, за да изразим това. Ако се опитаме да променим тази стойност като променлива, получаваме грешка. Хубавото на константите е, че те не използват памет, защото никога не компилират като такива.,
първоначалните им стойности се заменят в кода преди компилацията. Обърнете внимание на следния пример:

#DAYS_IN_THE_YEAR = "365"
Отстраняване на грешки „Има„ + #DAYS_IN_THE_YEAR + "дни в годината."

Този пример в нашата програма за компилатора ще бъде такъв:

Отстраняване на грешки „Има 365 дни в годината.“

тъй като се заменя с константа, в този случай '365' и след това се компилира.

Всички константи следват абсолютно същите правила за именуване като променливите, с изключение на суфиксите, константите не ги използват дори без значение какъв тип данни им е присвоен. Всички декларирани константи използват префикса (#).

Ако имате нужда от блок константи, в който например са зададени числови стойности, изброени една по една
на други, тогава можете да използвате командата Изброяване .

Изброяване
#ZERO
# ЕДИН
# ДВА
#ТРИ
EndEnumeration


Отстраняване на грешки #ZERO
Отстраняване на грешки #ONE
Отстраняване на грешки #TWO
Отстраняване на грешки # THREE

Ще видите в изходния прозорец за отстраняване на грешки, че всяка константа има по-висока стойност от предишната и започва да брои от „0“. Ако искате да започнете с различен номер, можете да използвате незадължителния цифров параметър с командата Изброяване, като този:

Изброяване 10
# ДЕСЕТ
# Единадесет
#TWELVE
EndEnumeration


Отстраняване на грешки # ДЕСЕТ
Отстраняване на грешки #ELEVEN
Отстраняване на грешки #TWELVE

Сега можете да видите, че първата константа има стойност '10', а останалите се увеличават, започвайки от нея (т.е. 11,12).
Можете дори да използвате стъпката на постоянно нарастване. Обърнете внимание на следния пример:

Изброяване 10 Стъпка 5
# ДЕСЕТ
# ПЕТНАДЕСЕТ
# ДВАДЕСЕТ
EndEnumeration


Отстраняване на грешки # ДЕСЕТ
Отстраняване на грешки # ПЕТНАДЕСЕТ
Отстраняване на грешки # ДВАДЕСЕТ

Сега константите се увеличават с '5', започвайки от '10'.

Присвояването на стойност навсякъде в изброяването на блокове ще зададе новата стойност
трансфери:

Изброяване 5
# ПЕТ
#ONE_HUNDRED = 100
#СТО И ЕДНО
#СТО И ДВЕ
EndEnumeration


Отстраняване на грешки #FIVE
Отстраняване на грешки #ONE_HUNDRED
Отстраняване на грешки #ONE_HUNDRED_AND_ONE
Отстраняване на грешки #ONE_HUNDRED_AND_TWO

Тук можете да видите какво, след реда: '# ONE_HUNDRED = 100', всички константи са допълнително номерирани от „100“. Номерираните константи се използват главно за програмиране на графичния потребителски интерфейс (вж. Глава 9), където всеки прозорец или притурка се нуждае от свой собствен идентификатор, който е много удобен за изброяване като константи. Това помага да се избегнат затруднения, преди всичко да се анализира вашият собствен код, особено когато има много джаджи и прозорци.