SlideShare a Scribd company logo
Meme Script
●   Type System
●   If, while etc
●   Dates, times, strings
Meme Script Example
var x = 10;
var y = 20;
var z : Integer;
z = x + y;
notify(z);
Meme IDE Function Editor
Primitive Types
●   Integer 10, -234
●   Decimal 1.23
●   String “ABC”
●   Boolean true, false
Declaring Integer Variables
●   Local variables within functions


var x : Integer;
var x2 = 1;
Declaring Decimal Variables

var d : Decimal(2);
var d2 = 1.23;
Declaring Boolean Variables

var b : Boolean;
var b2 = true;
Declaring Strings

var s : String;
var s = “abc”;
Default Initializations
●   String - empty string “”
●   Integer and Decimal – 0
●   Boolean – false
Pre-defined Complex Types
●   Date – day, month, year
●   Time – hour, minute, second
●   Duration – hour, minute, second
●   Timestamp
IF

var a = 15;
if (a > 10)
{
    notify(“A is big”);
}
IF / ELSE
var a = 15;
if (a > 10)
{
    notify(“A is big”);
}
else
{
    notify(“A is small”);
}
IF / ELSIF / ELSE
    notify(“A is small”);
}
    notify(“A is big”);
}
elsif (a > 5)
{
    notify(“A is medium sized”);
}
else
{
    notify(“A is small”);
}
WHILE

var x = 0;
while (x < 10)
{
    x++;
    // do other things
}
FOR

var names : String[];
append(names, "Jack");
append(names, "Jill");
append(names, "Jane");
for (name in names)
{
    notify(name);
}
Arithmetic

var c = 20;
f = c * (9.0 / 5.0) + 32;
notify(f);
Logical Operators

var x = 10;
if ((x > 10) and not (x > 20))
{
    notify(“x is middle sized”);
}
Dataspace
Defining a 'Person' Record
Adding Attributes to the 'Person'
            Record
Naming Conventions
Record Type Names
●   bumpy case with initial uppercase,
●   - E.g. Person or EmployeeDetails
Attribute names in records
●   - bumpy case with initial lowercase
●   - E.g. name or firstName
Defining an Address Record
Adding List of Addresses to Person
Creating a Person Record
var p : Person;
var a : Address;
a.line1 = "12 Hight St";
a.zip = "PA 12345";
p.name = "Simon";
p.tel = "1234567";
append(p.addresses, a);
'Dot' Notation
notify(p.addresses[0].line1);


p.addresses[0].line1 = "13 High St"
String Concatenation
var s1 = "The Start"
var s2 = "The Middle"
var s3 = "The End"
var result = s1 + ", " + s2 + ", " +
s3 + ". " + 3 + " parts.";


The Start, The Middle, The End. 3 parts.
String Comparison
var s1 = "String 1";
var s2 = "String ONE";
if (s1 == s2)
{
    notify("Yes");
}
String Utilities

●   Boolean startsWith(sourceString, matchString)
●   Boolean endsWith(sourceString, matchString)
●   String subString(sourceString, startPos, length)
●   Integer size(sourceString)
●   String toLower(sourceString)
●   String toUpper(sourceString)
●   String trim(sourceString)
●   String replaceAll(sourceString, matchString, replacementString)
●   String replaceFirst(sourceString, matchString, replacementString)
●   String replaceLast(sourceString, matchString, replacementString)
Collections
var people : Person[];
var names : String[];
append(names, "Fred");
append(names, "Jane");
INSERT
var people : Person[];
var names : String[];
append(names, "Fred");
append(names, "Jane");
insert(names, "Joe", 0);
Collections and []
var people : Person[];
var fred : Person[];
fred.name = "Fred";
fred.tel = "12345";
people.append(fred);
var jane : Person[];
jane.name = "Fred";
jane.tel = "12345";
people.append(jane);
Removing from a Collection
var people : Person[];
var fred : Person[];
fred.name = "Fred";
fred.tel = "12345";
people.append(fred);
remove(people, fred);
notify(people[1].name);
Date and Time Types
●   Date - day, month, year
●   Time - hour, minute, second
●   Duration - hour, minute, second
●   Timestamp
Date and Time Arithmetic
var t : Time;
t = timeNow();


var dt : Duration;
dt.hour = 1;
t = addTime(t, dt);
Date and Time Utilities
●   dateNow()
●   timeNow()
●   setDate(Date, year, month, day)
●   setTime(Time, hour, min, sec)
●   addDays(Date, days)
●   dayOfWeek(Date)
●   monthOfYear(Date)
●   formatDate(Date, formatString)
●   formatTime(Time, formatString)
●   formatTimestamp(Timestamp, String)
Date Formatting
Code                  Description                                         Example
                                                                          Result
d                     Day of the month without leading zero               “1”
dd                    Day of the month with leading zero                  “01”
ddd                   The localised name for the day of the week          “Sunday”
m                     Month of the year without leading zero              “1”
mm                    Month of the year with leading zero                 “01”
mmm                   The localised short (3 letter) name for the month   “Jan”
mmmm                  The localised full name for the month               “January”
yy                    The year as two digits                              “10”
yyyy                  The year as four digits                             “2010”


       var today : Date;
       today = dateNow();
       formatDate(today, “mmm d, yyyy”);

       “January 1, 2011”
Time Formatting
Code            Description                                    Example result
HHH             Hour in 24 hour format with leading zero       19
HH              Hour in 24 hour format with leading zero       08
H               Hour in 12 hour format without leading zeros   8
MM              Minute with leading zero                       05
M               Minute without leading zero                    5
SS              Seconds with leading zero                      09
S               Seconds without leading zero                   9
PP              am / pm indicator                              am


       var t : Time;
       t = timeNow();
       formatTime(t, “HH:MM:SS PP”);


       “12:34:10 am”
Questions?

More Related Content

PDF
MemeScript Language
PDF
Algebra [project]
PPTX
On the farm
DOCX
Tugas praktikum sisdig
PPTX
Zangstemming minor_studenten
PPTX
2. how to twitter volgen en volgers
PPTX
spelling words week 5
PDF
05 communications
MemeScript Language
Algebra [project]
On the farm
Tugas praktikum sisdig
Zangstemming minor_studenten
2. how to twitter volgen en volgers
spelling words week 5
05 communications

Viewers also liked (8)

DOCX
Tugaas basis data
PPTX
Leren onderzoeken op het HLO
PDF
01 intro
PPT
Tute seven preparation
PPTX
PDF
03 cross platform design
PDF
02 meme ide
PPT
Teknik inferensi
Tugaas basis data
Leren onderzoeken op het HLO
01 intro
Tute seven preparation
03 cross platform design
02 meme ide
Teknik inferensi
Ad

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
Teaching material agriculture food technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
A Presentation on Artificial Intelligence
Digital-Transformation-Roadmap-for-Companies.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
MYSQL Presentation for SQL database connectivity
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
sap open course for s4hana steps from ECC to s4
Programs and apps: productivity, graphics, security and other tools
Chapter 3 Spatial Domain Image Processing.pdf
Empathic Computing: Creating Shared Understanding
20250228 LYD VKU AI Blended-Learning.pptx
Teaching material agriculture food technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Ad

04 meme script

  • 1. Meme Script ● Type System ● If, while etc ● Dates, times, strings
  • 2. Meme Script Example var x = 10; var y = 20; var z : Integer; z = x + y; notify(z);
  • 4. Primitive Types ● Integer 10, -234 ● Decimal 1.23 ● String “ABC” ● Boolean true, false
  • 5. Declaring Integer Variables ● Local variables within functions var x : Integer; var x2 = 1;
  • 6. Declaring Decimal Variables var d : Decimal(2); var d2 = 1.23;
  • 7. Declaring Boolean Variables var b : Boolean; var b2 = true;
  • 8. Declaring Strings var s : String; var s = “abc”;
  • 9. Default Initializations ● String - empty string “” ● Integer and Decimal – 0 ● Boolean – false
  • 10. Pre-defined Complex Types ● Date – day, month, year ● Time – hour, minute, second ● Duration – hour, minute, second ● Timestamp
  • 11. IF var a = 15; if (a > 10) { notify(“A is big”); }
  • 12. IF / ELSE var a = 15; if (a > 10) { notify(“A is big”); } else { notify(“A is small”); }
  • 13. IF / ELSIF / ELSE notify(“A is small”); } notify(“A is big”); } elsif (a > 5) { notify(“A is medium sized”); } else { notify(“A is small”); }
  • 14. WHILE var x = 0; while (x < 10) { x++; // do other things }
  • 15. FOR var names : String[]; append(names, "Jack"); append(names, "Jill"); append(names, "Jane"); for (name in names) { notify(name); }
  • 16. Arithmetic var c = 20; f = c * (9.0 / 5.0) + 32; notify(f);
  • 17. Logical Operators var x = 10; if ((x > 10) and not (x > 20)) { notify(“x is middle sized”); }
  • 20. Adding Attributes to the 'Person' Record
  • 21. Naming Conventions Record Type Names ● bumpy case with initial uppercase, ● - E.g. Person or EmployeeDetails Attribute names in records ● - bumpy case with initial lowercase ● - E.g. name or firstName
  • 23. Adding List of Addresses to Person
  • 24. Creating a Person Record var p : Person; var a : Address; a.line1 = "12 Hight St"; a.zip = "PA 12345"; p.name = "Simon"; p.tel = "1234567"; append(p.addresses, a);
  • 26. String Concatenation var s1 = "The Start" var s2 = "The Middle" var s3 = "The End" var result = s1 + ", " + s2 + ", " + s3 + ". " + 3 + " parts."; The Start, The Middle, The End. 3 parts.
  • 27. String Comparison var s1 = "String 1"; var s2 = "String ONE"; if (s1 == s2) { notify("Yes"); }
  • 28. String Utilities ● Boolean startsWith(sourceString, matchString) ● Boolean endsWith(sourceString, matchString) ● String subString(sourceString, startPos, length) ● Integer size(sourceString) ● String toLower(sourceString) ● String toUpper(sourceString) ● String trim(sourceString) ● String replaceAll(sourceString, matchString, replacementString) ● String replaceFirst(sourceString, matchString, replacementString) ● String replaceLast(sourceString, matchString, replacementString)
  • 29. Collections var people : Person[]; var names : String[]; append(names, "Fred"); append(names, "Jane");
  • 30. INSERT var people : Person[]; var names : String[]; append(names, "Fred"); append(names, "Jane"); insert(names, "Joe", 0);
  • 31. Collections and [] var people : Person[]; var fred : Person[]; fred.name = "Fred"; fred.tel = "12345"; people.append(fred); var jane : Person[]; jane.name = "Fred"; jane.tel = "12345"; people.append(jane);
  • 32. Removing from a Collection var people : Person[]; var fred : Person[]; fred.name = "Fred"; fred.tel = "12345"; people.append(fred); remove(people, fred); notify(people[1].name);
  • 33. Date and Time Types ● Date - day, month, year ● Time - hour, minute, second ● Duration - hour, minute, second ● Timestamp
  • 34. Date and Time Arithmetic var t : Time; t = timeNow(); var dt : Duration; dt.hour = 1; t = addTime(t, dt);
  • 35. Date and Time Utilities ● dateNow() ● timeNow() ● setDate(Date, year, month, day) ● setTime(Time, hour, min, sec) ● addDays(Date, days) ● dayOfWeek(Date) ● monthOfYear(Date) ● formatDate(Date, formatString) ● formatTime(Time, formatString) ● formatTimestamp(Timestamp, String)
  • 36. Date Formatting Code Description Example Result d Day of the month without leading zero “1” dd Day of the month with leading zero “01” ddd The localised name for the day of the week “Sunday” m Month of the year without leading zero “1” mm Month of the year with leading zero “01” mmm The localised short (3 letter) name for the month “Jan” mmmm The localised full name for the month “January” yy The year as two digits “10” yyyy The year as four digits “2010” var today : Date; today = dateNow(); formatDate(today, “mmm d, yyyy”); “January 1, 2011”
  • 37. Time Formatting Code Description Example result HHH Hour in 24 hour format with leading zero 19 HH Hour in 24 hour format with leading zero 08 H Hour in 12 hour format without leading zeros 8 MM Minute with leading zero 05 M Minute without leading zero 5 SS Seconds with leading zero 09 S Seconds without leading zero 9 PP am / pm indicator am var t : Time; t = timeNow(); formatTime(t, “HH:MM:SS PP”); “12:34:10 am”