Solidity.

Bài viết

Chia sẻ kiến thức của bạn.

0xfed9...4236.
Jun 24, 2023
Thảo Luận

không thể hiểu các vị trí là gì (uint256)

Tôi không hiểu uint256 của Location và NewLocation là gì, ai đó có thể giải thích cho tôi không, họ đang ở đâu? Cảm ơn bạn. Dưới đây là đoạn code:

//Mã định danh giấy phép SPDX-: MIT

độ rắn thực dụng ^ 0.8.18;

nhập {aFoundryCourseChallenge} từ “AfoundryCourseChallenge.sol”; nhập {LessonThreeHelper} từ “3-LessonHelper.sol”;

hợp đồng bài họcThree là AoundryCourseChallenge, LessonThreeHelper { lỗi LessOnThree__wrongLocation ();

chuỗi hằng số riêng LESSON_IMAGE = “ipfs: //qmfWyPrRX1sX7sfGrWR4pNmWtQVLXMwCp4FeJ39m2fPfYE”;

constructor (địa chỉ fcn) aFoundryCourseChallenge (fcn) { s_booleanArray = [sai, sai, sai, đúng, sai]; }

/*

  • GỌI CHỨC NĂNG NÀY!
  • @param location - Vị trí của boolean thật.
  • @param newLocation - Chọn vị trí của boolean cho người tiếp theo!
  • @param YourTwitterHandle - Xử lý twitter của bạn. Có thể là một chuỗi trống. */ hàm solveChallenge (vị trí uint256, uint256 newLocation, bộ nhớ chuỗi YourTwitterHandle) bên ngoài { if (s_booleanArray [vị trí]! = đúng) { hoàn nguyên bài họcThree__wrongLocation (); } S_booleanArray [vị trí] = sai; s_booleanArray [newLocation] = đúng; _UpdateAndrewardSolver (YourTwitterHandle); }

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////Sau đây là các chức năng cần thiết cho NFT, vui lòng bỏ qua. ///////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function description () trả về override thuần túy bên ngoài (bộ nhớ chuỗi) { trở lại “Khóa học đầy đủ của Cyfrin Foundry: Bạn đã thừa hưởng kỹ năng từ sự vững chắc!” ; }

function attribute () trả về override thuần túy bên ngoài (bộ nhớ chuỗi) { trả về “Thừa kế và mẫu nhà máy có kiến thức”; }

hàm specialImage () trả về override thuần túy bên ngoài (bộ nhớ chuỗi) { trả về LESSON_IMAGE; } }

  • Smart Contract
  • Solidity
2
2
Chia sẻ
Bình luận
.

Câu trả lời

2
Daniel.
Jun 27 2023, 08:05

Nếu không có kiến thức về bối cảnh đầy đủ, thật khó để giải thích từ quan điểm của thách thức này.

Nói về mã,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
Bình luận
.
0x7a36...df11.
Jul 15 2023, 13:16

Vị trí uint256 và các tham số uint256 newLocation trong hàm SolveChallenge đại diện cho các chỉ số của mảng s_booleanArray.

S_booleanArray là một mảng các giá trị boolean được khởi tạo với [false, false, false, true, false]. Điều này có nghĩa là giá trị true nằm ở chỉ số thứ 4 trong mảng (xem xét rằng các chỉ số mảng bắt đầu từ 0). Hàm solveChallenge nhận hai đối số vị trí và newLocation, đại diện cho chỉ mục của mảng s_booleanArray. Tham số vị trí phải là chỉ mục của giá trị thực trong s_booleanArray. Nếu giá trị tại s_booleanArray [location] không đúng, nó sẽ hoàn nguyên giao dịch bằng cách sử dụng hoàn nguyên LessonThree__wrongLocation. Nếu s_booleanArray [location] là đúng, nó sẽ đặt chỉ mục này thành false và chỉ mục newLocation thành true. Điều này có hiệu quả di chuyển giá trị true đến một vị trí mới trong mảng. Cuối cùng, nó gọi _UpdateAndrewardSolver (YourTwitterHandle); để cập nhật trạng thái của người giải và thưởng cho họ. Vì vậy, nếu bạn đang cố gắng giải quyết thách thức này, bạn sẽ cần cung cấp vị trí hiện tại của giá trị thực (bắt đầu từ chỉ số 3, dựa trên khởi tạo mảng) và một vị trí mới nơi bạn muốn di chuyển giá trị thực đến.

Đó là tất cả những gì tôi có thể nói từ thông tin bạn đã cung cấp.

0
Bình luận
.

Bạn có biết câu trả lời không?

Hãy đăng nhập và chia sẻ nó.

Chúng tôi sử dụng cookie để đảm bảo bạn có trải nghiệm tốt nhất trên trang web của chúng tôi.
Thêm thông tin