Pure Programmer
Blue Matrix


Cluster Map

Enumerations

L1

This page is under construction. Please come back later.

Enums1.js
#!/usr/bin/env node;
const Utils = require('./Utils');

const CompassPoint = Object.freeze({
	NORTH: 0,
	EAST: 1,
	SOUTH: 2,
	WEST: 3
});

function CompassPointToString(c) {
	let result = "";
	switch (c) {
		case CompassPoint.NORTH:
			result = "North";
			break;
		case CompassPoint.EAST:
			result = "East";
			break;
		case CompassPoint.SOUTH:
			result = "South";
			break;
		case CompassPoint.WEST:
			result = "West";
			break;
	}
	return result;
}

function turnRight(c) {
	if (c === CompassPoint.NORTH) {
		return CompassPoint.EAST;
	} else if (c === CompassPoint.EAST) {
		return CompassPoint.SOUTH;
	} else if (c === CompassPoint.SOUTH) {
		return CompassPoint.WEST;
	} else {
		return CompassPoint.NORTH;
	}
}

const main = async () => {
	let cp1 = CompassPoint.NORTH;
	console.log("cp1: " + cp1);
	console.log("SOUTH: " + CompassPointToString(CompassPoint.SOUTH));
	console.log("turnRight(cp1): " + CompassPointToString(turnRight(cp1)));
	let cp2 = CompassPoint.EAST;
	if (cp1 === cp2) {
		console.log("cp1 == cp2");
	} else {
		console.log("cp1 != cp2");
	}
	cp1 = cp2;
	if (cp1 === cp2) {
		console.log("cp1 == cp2");
	} else {
		console.log("cp1 != cp2");
	}
}
main().catch( e => { console.error(e) } );
Output
$ node Enums1.js cp1: 0 SOUTH: South turnRight(cp1): East cp1 != cp2 cp1 == cp2
Enums2.js
#!/usr/bin/env node;
const Utils = require('./Utils');

const Color = Object.freeze({
	RED: 1,
	GREEN: 2,
	YELLOW: 3,
	BLUE: 4,
	MAGENTA: 5,
	CYAN: 6
});

function combineColors(c1, c2) {
	const i1 = c1;
	const i2 = c2;
	const result = i1 | i2;
	const returnColor = Utils.intToEnum(Color, result);
	return returnColor;
}

const main = async () => {
	let c1 = Color.BLUE;
	console.log("c1: " + c1);
	console.log("RED: " + Color.RED);
	console.log("combineColors(c1, RED): " + combineColors(c1, Color.RED));
	let c2 = Color.GREEN;
	console.log("combineColors(c1, c2): " + combineColors(c1, c2));
	if (c1 === c2) {
		console.log("c1 == c2");
	} else {
		console.log("c1 != c2");
	}
	c1 = c2;
	if (c1 === c2) {
		console.log("c1 == c2");
	} else {
		console.log("c1 != c2");
	}
	let bad = Utils.intToEnum(Color, 7);
	console.log("bad: " + bad);
}
main().catch( e => { console.error(e) } );
Output
$ node Enums2.js c1: 4 RED: 1 combineColors(c1, RED): MAGENTA combineColors(c1, c2): CYAN c1 != c2 c1 == c2 bad: null
javascript

Questions

Projects

More ★'s indicate higher difficulty level.

References