Practice Solidity Functions: Work on your ability to write solidity functions

Arguments

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

contract Contract {
	uint public x;

	constructor(uint _x) {
		x = _x;
	}
}

Increment

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

contract Contract {
	uint public x;

	constructor(uint _x) {
		x = _x;
	}

	function increment() external {
		x++;
	}
}

View Addition

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

contract Contract {
	uint public x;

	constructor(uint _x) {
		x = _x;
	}

	function increment() external {
		x++;
	}

	function add(uint y) external view returns(uint) {
		return x + y;
	}
}

Console Log

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.20;

import "forge-std/console.sol";

contract Contract {
    function winningNumber(string calldata secretMessage) external returns(uint) {
        console.log(secretMessage);
        return 794;
    }
}

Pure Double

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

contract Contract {
	function double(uint x) public pure returns(uint) {
		return x * 2;
	}
}

Double Overload

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

contract Contract {
	function double(uint x) public pure returns(uint) {
		return x * 2;
	}
	
	function double(uint a, uint b) external pure returns(uint, uint) {
		return (double(a), double(b));
	}
}

Learn Solidity. Alchemy University.
Accessed October 28, 2024
https://university.alchemy.com/overview/solidity