Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Saying NOT in Perl, PHP, Python, Lua ...

"Isn't there one standard way to say NOT?" asked one of my delegates on today's course - and it's an excellent question. But the answer to a question about a negative subject is itself in the negative - no, there isn't just a single way!

In fact .. I can think of no fewer that 12 ways!

• 1. ! The ! is the unary not operator in a wide range of languages.

• 2. != Using != means "does not equal". In languages such as C and PHP, it checks the contents of the variables, and in Perl it checks whether two values are numerically the same. In many OO languages, the operator is (or can be) overridden to mean something of your own choice.

• 3. <> This operator in some languages Perl is an alternative to the the != operator.

• 4. ~= In Lua, instead of using != to mean not equals, you used ~=.

• 5. ^ The caret character is used to indicate NOT on of in a regular expression group, and it has the same meaning in Lua's pattern matching too. For example ... [^aeiou] means match any one character which is not a lower case vowel.

• 6. not The word not operates in the same way as the ! operator in many languages. However - it has a different place in the operator precedence tree which means that you'll sometimes need to use round brackets in different places with not and with !.

• 7. capitalisation In a regular expression in Perl, and in Perl-like regular expression such as PHP's preg functions and Python, you can invert a charactered group b y capitalising the letter. So \s means a space character, but \S means a none-space. Capitalisation also applies in this way in Lua's pattern matching - so for example %a matches an alphabetic character, but %A matches a none-alpha.

• 8. unless In Perl, an unless statement may be used to cause a block of code to be performed only if a condition is NOT true.

• 9. until You'll find until loops in Perl and Lua - a block of code is repeated while a condition is NOT true (i.e. until it is true).

• 10. ne Perl's ne operator checks whether strings are equal. And the -ne operator in shell programming checks whether numbers are equal, using the == operator that Perl uses for numbers for strings instead. (This sort of difference really helps to keep me on my toes when I'm training!)

• 11. !~ "Does not match ..." a regular expression. Perl.

• 12. !== "Is not identical to" in PHP. The difference between !== and != is that the latter operator will return false (indicating two values are equal) if you compare the number zero to either the string 0, or an empty string, or a variable that does not exist. The former will ONLY return false if you compare two values of the same type that have the same value.
(written 2008-07-04, updated 2008-07-05)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y103 - Python - Conditionals and Loops
  [299] What - no switch or case statement? - (2005-05-03)
  [353] Wimbledon Neck - (2005-06-20)
  [657] The ternary operator in Python - (2006-03-25)
  [668] Python - block insets help with documentation - (2006-04-04)
  [788] New - Conditional expressions in Python 2.5 - (2006-07-01)
  [835] Python - when to use the in operator - (2006-08-16)
  [909] Python is like a narrowboat - (2006-10-30)
  [1201] No switch in Python - (2007-05-23)
  [1477] Decisions - small ones, or big ones? - (2007-12-18)
  [1661] Equality, sameness and identity - Python - (2008-05-31)
  [2778] Learning to program in Python 2 ... and / or in Python 3 - (2010-05-24)
  [2899] Groupsave tickets - 3 or 4 train tickets for the price of 2 - (2010-08-02)
  [3083] Python - fresh examples from recent courses - (2010-12-11)
  [3200] How a for loop works Java, Perl and other languages - (2011-03-12)
  [3397] Does a for loop evaluate its end condition once, or on every iteration? - (2011-08-18)
  [3439] Python for loops - applying a temporary second name to the same object - (2011-09-14)
  [3558] Python or Lua - which should I use / learn? - (2011-12-21)
  [3620] Finding the total, average, minimum and maximum in a program - (2012-02-22)
  [3762] Learning to program - the if statement. Python. - (2012-06-12)
  [3895] Flowchart to program - learning to program with Well House - (2012-10-14)
  [4092] Identity in Python - (2013-05-17)
  [4210] If elif elif elif - multiway selection in Python - (2013-11-16)
  [4322] Learning to Program - the conditional statement (if) - (2014-11-21)
  [4323] Learning to program - Loop statements such as while - (2014-11-22)
  [4402] Finding sum, minimum, maximum and average in Python (and Ruby) - (2015-01-19)
  [4541] Setting up and tearing down with the Python with keyword - (2015-10-16)
  [4545] Method, Class, Module, Package - how to they relate in Python? - (2015-10-17)
  [4713] Equality (in Python) - (2016-10-30)
  [4723] Conditional operators in Python - (2016-11-05)

U103 - Lua - Conditionals and loops
  [1685] Short circuit evaluation (lazy operator) in Lua - (2008-06-22)
  [1738] Clean code, jump free (Example in Lua) - (2008-08-06)
  [2351] Ternary operators alternatives - Perl and Lua lazy operators - (2009-08-12)
  [2454] For loops in Lua - (2009-10-14)
  [2455] Lua examples - coroutines, error handling, objects, etc - (2009-10-15)
  [3686] The goto statement in Lua - (2012-04-06)
  [4272] Lazy operators in Lua - what they mean, and examples - (2014-05-05)
  [4574] repeat until in Lua - a one or more rather than a zero or more loop - (2015-11-05)

T203 - Tcl/Tk - Conditionals and Loops
  [210] Joining lists in Tcl. Indirect variables in Tcl. - (2005-02-12)
  [1401] Tcl - using [] or {} for conditions in an if (and while) - (2007-10-23)
  [2261] Tcl - nice and nasty - (2009-06-29)
  [2471] A short form of if ... then ... else - (2009-10-23)
  [2681] Tcl - a great engineering language - (2010-03-17)
  [3189] Tcl - the danger of square brackets in a while command - (2011-03-02)
  [3570] Trapping errors in Tcl - the safety net that catch provides - (2012-01-06)
  [3571] Comparing loop commands in Tcl - (2012-01-06)
  [4455] Working out distance between places, using OS grid references and a program in Tcl - (2015-03-11)

R104 - Ruby - Control Structures
  [960] 1st, 2nd, 3rd revisited in Ruby - (2006-12-02)
  [962] Breaking a loop - Ruby and other languages - (2006-12-03)
  [985] Equality in Ruby - == eql? and equal? - (2006-12-14)
  [995] Ruby's case - no break - (2006-12-17)
  [1163] A better alternative to cutting and pasting code - (2007-04-26)
  [1220] for loop - how it works (Perl, PHP, Java, C, etc) - (2007-06-06)
  [1582] Ruby, C, Java and more - getting out of loops - (2008-03-19)
  [1587] Some Ruby programming examples from our course - (2008-03-21)
  [1870] What to do with a huge crop of apples - (2008-11-04)
  [1887] Ruby Programming Course - Saturday and Sunday - (2008-11-16)
  [1891] Ruby to access web services - (2008-11-16)
  [1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
  [2287] Learning to program in Ruby - examples of the programming basics - (2009-07-15)
  [2619] Passing code to procedures and yield in Ruby - (2010-02-02)
  [2711] For loop - checked once, or evety time? Ruby v Perl comparison and contrast - (2010-04-07)
  [2892] Alternative loops and conditionals in Ruby and Perl - (2010-07-28)
  [2975] Why do I need brackets in Ruby ... or Perl, Python, C or Java - (2010-09-29)
  [3156] Splitting data reading code from data processing code - Ruby - (2011-02-04)
  [3158] Ruby training - some fresh examples for string handling applications - (2011-02-05)
  [3159] Returning multiple values from a function call in various languages - a comparison - (2011-02-06)
  [3253] Is this number between? Does this list include? - Ruby - (2011-04-18)
  [3254] Multiple inputs, multiple out, ruby functions - (2011-04-19)
  [3422] Assigning values to variables within other statements - Ruby - (2011-09-07)
  [3619] Ruby v Perl - a comparison example - (2012-02-21)
  [3769] Muttable v immutable and implications - Ruby - (2012-06-20)
  [4370] Conditionals, loops and methods in Ruby - a primer with simple examples - (2014-12-29)
  [4503] Separating your code for easier testing, understanding and re-use; example in Ruby - (2015-06-02)
  [4504] Where does Ruby load modules from, and how to load from current directory - (2015-06-03)
  [4674] Alternating valuses / flip-flop / toggle - example in Ruby - (2016-05-17)

P206 - Perl - More Loops and Conditionals
  [138] Perl - redo and last without a loop - (2004-12-02)
  [1191] Smart English Output - via PHP and Perl ? : operator - (2007-05-18)
  [1825] Question Mark - Colon operator (Perl and PHP) - (2008-10-08)
  [2815] switch and case, or given and when in Perl - (2010-06-17)
  [2817] Setting a safety net or fallback value in Perl - (2010-06-19)
  [2824] A pint of Black Rat, and a lazy barman - (2010-06-25)
  [2832] Are you learning Perl? Some more examples for you! - (2010-06-27)
  [2967] Multiway branches in Perl - the given and when syntax - (2010-09-22)
  [2972] Some more advanced Perl examples from a recent course - (2010-09-27)
  [3398] Perl - making best use of the flexibility, but also using good coding standards - (2011-08-19)
  [3914] While, for, foreach or something else to loop. - (2012-11-06)

P204 - Perl - Conditionals and Loops
  [930] -> , >= and => in Perl - (2006-11-18)
  [1468] Lexical v Arithemetic testing, Bash and Perl - (2007-12-11)
  [1607] Learning to program in Perl - (2008-04-11)
  [1727] Equality and looks like tests - Perl - (2008-07-29)
  [2550] Do not copy and paste code - there are much better ways - (2009-12-26)
  [3004] Increment operators for counting - Perl, PHP, C and others - (2010-10-18)
  [4031] Showing what programming errors look like - web site pitfall - (2013-03-06)

J704 - Java - Loops and Conditional Statements
  [2734] for and foreach in Java - (2010-04-22)
  [3038] Setting up individual variables, and arrays, in Java - some commented examples - (2010-11-09)
  [4346] A behaviour driven example of writing a Java program - (2014-12-09)
  [4427] Java example - for loop and conditionals from course exercise - (2015-02-16)

H104 - PHP - Control Statements
  [340] Code and code maintainance efficiency - (2005-06-08)
  [406] Assignment, equality and identity in PHP - (2005-08-08)
  [421] Don't repeat code - use loops or functions - (2005-08-21)
  [863] Double and Triple equals operator in PHP - (2006-09-12)
  [1199] Testing for one of a list of values. - (2007-05-22)
  [2304] Extracting real data from an exported file in PHP or Perl - (2009-07-25)
  [2912] Predictions for the seagull population - (2010-08-09)

C203 - C and C based languages - Conditionals and Loops
  [2002] New C Examples - pointers, realloc, structs and more - (2009-01-20)
  [2570] Function Prototypes in C - (2010-01-11)
  [3121] New year, new C Course - (2011-01-05)
  [3243] Breaking the running sequence - an introduction to conditional statements and loops - (2011-04-11)
  [3384] Loops - a comparison of goto, while and for - (2011-08-10)
  [4337] Learning to program sample program - past its prime, but still useful - (2014-12-02)


Back to
Lua Course - here is the index
Previous and next
or
Horse's mouth home
Forward to
Sorting in lua - specifying your own sort routine
Some other Articles
FTP server on Fedora Linux
If you are learning Lua, here are some more examples
Dealing with The Press
Sorting in lua - specifying your own sort routine
Saying NOT in Perl, PHP, Python, Lua ...
Lua Course - here is the index
Defensive coding techniques in PHP?
July to December 2008 - Open Source training schedule
Towards Object Oriented Programming in Lua
Co-routines in Lua - co-operative processing
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1696_Say ... -Lua-.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb