Solidity ParseError with null
mapping (address => uint) itemsPerCreator;
if (itemsPerCreator[_creator] == null){}
Remix give me a error: ParseError: Expected primary expression.
_creator is a addres type variable. Inside the mapping each addres have a uint value.
solidity
|
show 6 more comments
mapping (address => uint) itemsPerCreator;
if (itemsPerCreator[_creator] == null){}
Remix give me a error: ParseError: Expected primary expression.
_creator is a addres type variable. Inside the mapping each addres have a uint value.
solidity
What isnull
?
– goodvibration
Dec 26 '18 at 9:28
The if is inside a function. So I´m trying to evaluate if is a value inside the mapping. That mapping have one a address and a uint value. So im evaluating if the value inside the mapping is null
– Eduardo
Dec 26 '18 at 9:29
It doesn't answer my question - where have you declared auint
variable namednull
?
– goodvibration
Dec 26 '18 at 9:30
null is not a variable. Is a value
– Eduardo
Dec 26 '18 at 9:31
1
Any unmapped value is actually mapped to the zero value of the given type, which in your case isuint(0)
, or simply0
.
– goodvibration
Dec 26 '18 at 9:50
|
show 6 more comments
mapping (address => uint) itemsPerCreator;
if (itemsPerCreator[_creator] == null){}
Remix give me a error: ParseError: Expected primary expression.
_creator is a addres type variable. Inside the mapping each addres have a uint value.
solidity
mapping (address => uint) itemsPerCreator;
if (itemsPerCreator[_creator] == null){}
Remix give me a error: ParseError: Expected primary expression.
_creator is a addres type variable. Inside the mapping each addres have a uint value.
solidity
solidity
edited Dec 26 '18 at 11:14
Eduardo
asked Dec 26 '18 at 9:16
EduardoEduardo
2438
2438
What isnull
?
– goodvibration
Dec 26 '18 at 9:28
The if is inside a function. So I´m trying to evaluate if is a value inside the mapping. That mapping have one a address and a uint value. So im evaluating if the value inside the mapping is null
– Eduardo
Dec 26 '18 at 9:29
It doesn't answer my question - where have you declared auint
variable namednull
?
– goodvibration
Dec 26 '18 at 9:30
null is not a variable. Is a value
– Eduardo
Dec 26 '18 at 9:31
1
Any unmapped value is actually mapped to the zero value of the given type, which in your case isuint(0)
, or simply0
.
– goodvibration
Dec 26 '18 at 9:50
|
show 6 more comments
What isnull
?
– goodvibration
Dec 26 '18 at 9:28
The if is inside a function. So I´m trying to evaluate if is a value inside the mapping. That mapping have one a address and a uint value. So im evaluating if the value inside the mapping is null
– Eduardo
Dec 26 '18 at 9:29
It doesn't answer my question - where have you declared auint
variable namednull
?
– goodvibration
Dec 26 '18 at 9:30
null is not a variable. Is a value
– Eduardo
Dec 26 '18 at 9:31
1
Any unmapped value is actually mapped to the zero value of the given type, which in your case isuint(0)
, or simply0
.
– goodvibration
Dec 26 '18 at 9:50
What is
null
?– goodvibration
Dec 26 '18 at 9:28
What is
null
?– goodvibration
Dec 26 '18 at 9:28
The if is inside a function. So I´m trying to evaluate if is a value inside the mapping. That mapping have one a address and a uint value. So im evaluating if the value inside the mapping is null
– Eduardo
Dec 26 '18 at 9:29
The if is inside a function. So I´m trying to evaluate if is a value inside the mapping. That mapping have one a address and a uint value. So im evaluating if the value inside the mapping is null
– Eduardo
Dec 26 '18 at 9:29
It doesn't answer my question - where have you declared a
uint
variable named null
?– goodvibration
Dec 26 '18 at 9:30
It doesn't answer my question - where have you declared a
uint
variable named null
?– goodvibration
Dec 26 '18 at 9:30
null is not a variable. Is a value
– Eduardo
Dec 26 '18 at 9:31
null is not a variable. Is a value
– Eduardo
Dec 26 '18 at 9:31
1
1
Any unmapped value is actually mapped to the zero value of the given type, which in your case is
uint(0)
, or simply 0
.– goodvibration
Dec 26 '18 at 9:50
Any unmapped value is actually mapped to the zero value of the given type, which in your case is
uint(0)
, or simply 0
.– goodvibration
Dec 26 '18 at 9:50
|
show 6 more comments
1 Answer
1
active
oldest
votes
You are getting this error because there is nothing like null
or undefined
in solidity. An uint
initializes with 0.
So, to check the zero-state of value(either default or intentionally updated) to the corresponding key in your mapping, you should write it as:
if (itemsPerCreator[_creator] == 0){}
As per the Solidity documentation:
A variable which is declared will have an initial default value whose
byte-representation is all zeros. The “default values” of variables
are the typical “zero-state” of whatever the type is. For example, the
default value for a bool is false. The default value for the uint or
int types is 0. For statically-sized arrays and bytes1 to bytes32,
each individual element will be initialized to the default value
corresponding to its type. Finally, for dynamically-sized arrays,
bytes and string, the default value is an empty array or string.
The partto check the non-existence of value to the corresponding key in your mapping
is wrong. A value exists, and it is 0. In addition to that, any key mapped to 0 can also be added in an explicit manner.
– goodvibration
Dec 26 '18 at 10:18
@goodvibration You're right, answer updated.
– Aniket
Dec 26 '18 at 10:28
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "642"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f64606%2fsolidity-parseerror-with-null%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You are getting this error because there is nothing like null
or undefined
in solidity. An uint
initializes with 0.
So, to check the zero-state of value(either default or intentionally updated) to the corresponding key in your mapping, you should write it as:
if (itemsPerCreator[_creator] == 0){}
As per the Solidity documentation:
A variable which is declared will have an initial default value whose
byte-representation is all zeros. The “default values” of variables
are the typical “zero-state” of whatever the type is. For example, the
default value for a bool is false. The default value for the uint or
int types is 0. For statically-sized arrays and bytes1 to bytes32,
each individual element will be initialized to the default value
corresponding to its type. Finally, for dynamically-sized arrays,
bytes and string, the default value is an empty array or string.
The partto check the non-existence of value to the corresponding key in your mapping
is wrong. A value exists, and it is 0. In addition to that, any key mapped to 0 can also be added in an explicit manner.
– goodvibration
Dec 26 '18 at 10:18
@goodvibration You're right, answer updated.
– Aniket
Dec 26 '18 at 10:28
add a comment |
You are getting this error because there is nothing like null
or undefined
in solidity. An uint
initializes with 0.
So, to check the zero-state of value(either default or intentionally updated) to the corresponding key in your mapping, you should write it as:
if (itemsPerCreator[_creator] == 0){}
As per the Solidity documentation:
A variable which is declared will have an initial default value whose
byte-representation is all zeros. The “default values” of variables
are the typical “zero-state” of whatever the type is. For example, the
default value for a bool is false. The default value for the uint or
int types is 0. For statically-sized arrays and bytes1 to bytes32,
each individual element will be initialized to the default value
corresponding to its type. Finally, for dynamically-sized arrays,
bytes and string, the default value is an empty array or string.
The partto check the non-existence of value to the corresponding key in your mapping
is wrong. A value exists, and it is 0. In addition to that, any key mapped to 0 can also be added in an explicit manner.
– goodvibration
Dec 26 '18 at 10:18
@goodvibration You're right, answer updated.
– Aniket
Dec 26 '18 at 10:28
add a comment |
You are getting this error because there is nothing like null
or undefined
in solidity. An uint
initializes with 0.
So, to check the zero-state of value(either default or intentionally updated) to the corresponding key in your mapping, you should write it as:
if (itemsPerCreator[_creator] == 0){}
As per the Solidity documentation:
A variable which is declared will have an initial default value whose
byte-representation is all zeros. The “default values” of variables
are the typical “zero-state” of whatever the type is. For example, the
default value for a bool is false. The default value for the uint or
int types is 0. For statically-sized arrays and bytes1 to bytes32,
each individual element will be initialized to the default value
corresponding to its type. Finally, for dynamically-sized arrays,
bytes and string, the default value is an empty array or string.
You are getting this error because there is nothing like null
or undefined
in solidity. An uint
initializes with 0.
So, to check the zero-state of value(either default or intentionally updated) to the corresponding key in your mapping, you should write it as:
if (itemsPerCreator[_creator] == 0){}
As per the Solidity documentation:
A variable which is declared will have an initial default value whose
byte-representation is all zeros. The “default values” of variables
are the typical “zero-state” of whatever the type is. For example, the
default value for a bool is false. The default value for the uint or
int types is 0. For statically-sized arrays and bytes1 to bytes32,
each individual element will be initialized to the default value
corresponding to its type. Finally, for dynamically-sized arrays,
bytes and string, the default value is an empty array or string.
edited Dec 26 '18 at 10:26
answered Dec 26 '18 at 10:09
AniketAniket
2,0471633
2,0471633
The partto check the non-existence of value to the corresponding key in your mapping
is wrong. A value exists, and it is 0. In addition to that, any key mapped to 0 can also be added in an explicit manner.
– goodvibration
Dec 26 '18 at 10:18
@goodvibration You're right, answer updated.
– Aniket
Dec 26 '18 at 10:28
add a comment |
The partto check the non-existence of value to the corresponding key in your mapping
is wrong. A value exists, and it is 0. In addition to that, any key mapped to 0 can also be added in an explicit manner.
– goodvibration
Dec 26 '18 at 10:18
@goodvibration You're right, answer updated.
– Aniket
Dec 26 '18 at 10:28
The part
to check the non-existence of value to the corresponding key in your mapping
is wrong. A value exists, and it is 0. In addition to that, any key mapped to 0 can also be added in an explicit manner.– goodvibration
Dec 26 '18 at 10:18
The part
to check the non-existence of value to the corresponding key in your mapping
is wrong. A value exists, and it is 0. In addition to that, any key mapped to 0 can also be added in an explicit manner.– goodvibration
Dec 26 '18 at 10:18
@goodvibration You're right, answer updated.
– Aniket
Dec 26 '18 at 10:28
@goodvibration You're right, answer updated.
– Aniket
Dec 26 '18 at 10:28
add a comment |
Thanks for contributing an answer to Ethereum Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f64606%2fsolidity-parseerror-with-null%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What is
null
?– goodvibration
Dec 26 '18 at 9:28
The if is inside a function. So I´m trying to evaluate if is a value inside the mapping. That mapping have one a address and a uint value. So im evaluating if the value inside the mapping is null
– Eduardo
Dec 26 '18 at 9:29
It doesn't answer my question - where have you declared a
uint
variable namednull
?– goodvibration
Dec 26 '18 at 9:30
null is not a variable. Is a value
– Eduardo
Dec 26 '18 at 9:31
1
Any unmapped value is actually mapped to the zero value of the given type, which in your case is
uint(0)
, or simply0
.– goodvibration
Dec 26 '18 at 9:50