官术网_书友最值得收藏!

Time for action – getting our hands full of strings

We're starting to familiarize ourselves with several blocks of code and how they interact with each other. Let's see what happens when we add in some expressions using strings and how different they are from just regular strings that you print out in the terminal:

  1. Create a new project folder on your desktop and name it Working With Strings.
  2. Make a new main.lua file in your text editor and save it to your folder.
  3. Type out the following lines (do not include the line numbers in the code, they are only used for line reference):
    1 print("This is a string!") -- This is a string!
    2 print("15" + 1) -- Returns the value 16
  4. Add in the following variables. Notice that it uses the same variable name:
    3 myVar = 28
    4 print(myVar)  -- Returns 28
    
    
    5 myVar = "twenty-eight"
    6 print(myVar) -- Returns twenty-eight
  5. Let's add in more variables with some string values and compare them using different operators:
    7 Name1, Phone = "John Doe", "123-456-7890"
    8 Name2 = "John Doe"
    
    9 print(Name1, Phone) -- John Doe  123-456-7890
    10 print(Name1 == Phone) -- false
    11 print(Name1 <= Phone) -- false
    12 print(Name1 == Name2) -- true
  6. Save your script and launch your project in Corona. Observe the results in the terminal window:
    This is a string!
    16
    28
    twenty-eight
    John Doe 123-456-7890
    false
    false
    true
    

What just happened?

You can see that line 1 is just a plain string with characters printed out. In line 2, notice that number 15 is inside the string and then added to the number 1, which is outside of the string. Lua provides automatic conversions between numbers and strings at runtime. Numeric operations applied to a string will try to convert the string to a number.

When working with variables, you can use the same one and have them contain a string and a number at different times, like in lines 3 and 5 (myVar = 28 and myVar = "twenty-eight").

In the last chunk of code (lines 7-12), we compared different variable names using relational operators. First, we printed the strings of Name1 and Phone. The next lines that follow compared Name1, Name2, and Phone. When two strings have the same characters in the exact order, then they are considered the same string and are equal to each other. When you look at print(Name1 == Phone) and print(Name1 <= Phone), the statement returns false because of the ASCII order. Digits are before alphabets, which are smaller when you compare them. In print(Name1 == Name2), both variables contain the same characters, and therefore, it returns true.

Have a go hero – pulling some more strings

Strings are pretty simple to work with since they are just sequences of characters. Try making your own expressions similar to the preceding example with the following modifications:

  1. Create some variables with numerical values and another set of variables with numerical string values. Use relational operators to compare the values and then print out the results.
  2. Use the concatenation operator, combine several strings or numbers together, and space them out equally. Print out the result in the terminal window.
主站蜘蛛池模板: 纳雍县| 建湖县| 湘乡市| 乐陵市| 天峨县| 梧州市| 金沙县| 青神县| 康定县| 中牟县| 九寨沟县| 青铜峡市| 滦南县| 东乡| 革吉县| 昂仁县| 南昌市| 特克斯县| 石屏县| 河源市| 西青区| 玛纳斯县| 沅江市| 赤峰市| 大新县| 佛学| 涟源市| 闻喜县| 涪陵区| 普洱| 新密市| 砚山县| 紫金县| 墨竹工卡县| 兴山县| 防城港市| 黄龙县| 永宁县| 浦东新区| 沅江市| 巩留县|