Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class parseType : Object {
- public string label { get; protected construct; }
- public bool haveData { get; protected set; default=false; }
- public abstract bool parse(string data);
- }
- public class parseInt : parseType {
- public parseInt(string newLabel) {
- Object(label: newLabel);
- }
- public int value { get; private set; default = 0; }
- public override bool parse(string data) {
- value = int.parse(data);
- haveData = true;
- return true; // Data is good
- }
- }
- public class parseString : parseType {
- public parseString(string newLabel) {
- Object(label: newLabel);
- }
- public string value { get; private set; default = ""; }
- public override bool parse(string data) {
- value = data;
- haveData = true;
- return true;
- }
- }
- int
- main(string[] args) {
- parseInt pi = new parseInt("retries");
- parseString ps = new parseString("interfaces");
- parseType[] parseTable = { pi, ps };
- string data = "retries 23";
- foreach (parseType p in parseTable) {
- if (p.label == data[0:p.label.length]) {
- p.parse(data[p.label.length+1:data.length]);
- }
- }
- if (pi.haveData) { stdout.printf("%s is %d\n", pi.label, pi.value); }
- if (ps.haveData) { stdout.printf("%s is %s\n", ps.label, ps.value); }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement