SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

Andere mochten auch (8)

Tugaas basis data
Tugaas basis dataTugaas basis data
Tugaas basis data
 
Leren onderzoeken op het HLO
Leren onderzoeken op het HLOLeren onderzoeken op het HLO
Leren onderzoeken op het HLO
 
01 intro
01 intro01 intro
01 intro
 
Tute seven preparation
Tute seven preparationTute seven preparation
Tute seven preparation
 
6. how to linked in
6. how to linked in6. how to linked in
6. how to linked in
 
03 cross platform design
03 cross platform design03 cross platform design
03 cross platform design
 
02 meme ide
02 meme ide02 meme ide
02 meme ide
 
Teknik inferensi
Teknik inferensiTeknik inferensi
Teknik inferensi
 

Kürzlich hochgeladen

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Kürzlich hochgeladen (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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”