37 lines
890 B
D
37 lines
890 B
D
// Creating Tic Tac Toe (Noughts and Crosses) game (check ticTacToe.d)
|
|
// LET'S LEARN: passing a variable by value and by reference
|
|
|
|
import std.stdio: writeln;
|
|
|
|
void main() {
|
|
int num = 100;
|
|
|
|
writeln("Step 1: num = ", num);
|
|
|
|
modify(num);
|
|
|
|
writeln("Step 3: num = ", num);
|
|
}
|
|
|
|
/*
|
|
|
|
// passing by value
|
|
// when passing by value, a function copies the value of the variable to the argument of a function, and modifies the argument (the copy of that variable),
|
|
// not the original variable
|
|
void modify(int argument) {
|
|
argument = 70;
|
|
|
|
writeln("Step 2: argument(num) = ", argument);
|
|
}
|
|
|
|
*/
|
|
|
|
// passing by reference
|
|
// when passing by reference, a function copies the reference to the variable, and when modifying
|
|
// the argument of a function, changes the actual value of the original variable
|
|
void modify(ref int argument) {
|
|
argument = 70;
|
|
|
|
writeln("Step 2: argument(num) = ", argument);
|
|
}
|