Solidity.

帖子

分享您的知识。

0xfed9...4236.
Jun 24, 2023
讨论

不明白有哪些位置 (uint256)

我不明白 Location 和 newLocation 的 uint256 是什么,有人能向我解释一下,它们在哪里吗?谢谢. 以下是代码:

//spdx 许可证标识符:麻省理工学院

pragma solidity ^0.8.18;

从 “afoundryCourseChallenge.sol” 导入 {afoundryCourseChallenge}; 从 “3-lessonHelper.sol” 导入 {lessonThreeHelper};

contract lessonThree 是 FoundryCourseChallenge,lesson 错误 lessonThree__wronLocation ();

字符串私有常量 LESSON_IMAGE = “ipfs: //qmfwyprrx1sx7sfgrwr4pnmwtqvlxcp4fej39m2fpfye”;

构造函数(地址 fcn)afoundryCourseChallenge (fcn) { s_booleanArray = [假、假、假、真、假]; }

/*

  • 调用这个函数!
  • @param location-真实布尔值的位置.
  • @param newLocation-为下一个人选择布尔值的位置!
  • @param YourTwitterHandle-你的推特账号. 可以是空字符串. */ 函数 solveChallenge(uint256 位置,uint256 newLocation,字符串内存 yourTwitter Handle) if (s_booleanArray [位置]!= 真的){ 还原第三课__错误位置 (); } s_booleanArray [location] = false; s_booleanArray [newLocation] = 真; _updateAndrewardSolver(你的推特账号); }

/////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////以下是 NFT 所需的函数,请随意忽略. /////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////// 函数描述 () 外部纯覆盖返回(字符串内存){ 返回 “Cyfrin Foundry 完整课程:你从坚固中继承了技能!”; }

函数属性 () 外部纯覆盖返回(字符串内存){ 返回 “继承和工厂模式可知”; }

函数 specialImage () 外部纯覆盖返回(字符串内存){ 返回 LESSON_IMAGE; } }

  • Smart Contract
  • Solidity
2
2
分享
评论
.

答案

2
Daniel.
Jun 27 2023, 08:05

如果不了解全部背景,很难从这个挑战的角度来解释.

说到代码,location is an index of an item in s_booleanArray array where the value is true. If the value of an element by index location is true then solveChallenge sets it to false, and sets to true an item by index newLocation.

0
评论
.
0x7a36...df11.
Jul 15 2023, 13:16

solveChallenge 函数中的 uint256 位置和 uint256 newLocation 参数表示数组 s_booleanArray 的索引.

s_booleanArray 是一个布尔值数组,初始化为 [false、false、false、true、false]. 这意味着真值位于数组的第 4 个索引处(考虑到数组索引从 0 开始). solveChallenge 函数采用两个参数 location 和 newLocation,表示数组 s_booleanArray 的索引. 位置参数应该是 s_booleanArray 中真实值的索引. 如果 s_booleanArray [location] 的值不为真,它将使用 revert lessonThree__WrongLocation 恢复交易. 如果 s_booleanArray [location] 为真,它将此索引设置为 false,将 newLocation 索引设置为 true. 这有效地将真实值移动到数组中的新位置. 最后,它调用 _updateAndrewardSolver(YourTwitterHandle);来更新求解者的状态并奖励他们. 因此,如果你想解决这个难题,你需要提供真实值的当前位置(根据数组初始化,从索引 3 开始),以及你想要将真实值移动到的新位置.

这就是我从你提供的信息中能看出来的全部.

0
评论
.

你知道答案吗?

请登录并分享。

我们使用 cookie 确保您在我们的网站上获得最佳体验。
更多信息