title: Comparison of two strings in Lua
body: <p>I am trying to compare two strings where the first string is a single element of an array and the second array is just a regular string.  For some reason, the comparison is not coming through as true.  Hopefully, someone can point me in the right direction!</p>
  
  <pre><code>empty =  "        " 
  pawn =   "  Pawn  " 
  rook =   "  Rook  " 
  knight = " Knight " 
  bishop = " Bishop " 
  queen =  "  Queen " 
  king =   "  King  "
  
  emptyspot = {} 
  for i = 1, 8 do
      emptyspot[i] = {}
      for j = 1, 8 do
          emptyspot[i][j] = "    /    "   
      end 
  end
  
  function chessBoard() 
      io.write("\n\nWelcome to LuaChess!\n\n") 
      io.write("          1        2        3        4        5        6        7        8    \n") 
      io.write("      *************************************************************************\n") 
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("    A *".. emptyspot[1][1] ..
      "*"..emptyspot[1][2].."*"..emptyspot[1][3].."*"..emptyspot[1][4]..      
      "*"..emptyspot[1][5].."*"..emptyspot[1][6].."*"..emptyspot[1][7].."*"..emptyspot[1][8].."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("     *************************************************************************\n") 
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("    B *".. emptyspot[2][1] ..
      "*"..emptyspot[2][2].."*"..emptyspot[2][3].."*"..emptyspot[2][4]..      
      "*"..emptyspot[2][5].."*"..emptyspot[2][6].."*"..emptyspot[2][7].."*"..emptyspot[2][8].."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("     *************************************************************************\n") 
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("    C *".. emptyspot[3][1] ..
      "*"..emptyspot[3][2].."*"..emptyspot[3][3].."*"..emptyspot[3][4]..      
      "*"..emptyspot[3][5].."*"..emptyspot[3][6].."*"..emptyspot[3][7].."*"..emptyspot[3][8].."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("     *************************************************************************\n") io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("    D *".. emptyspot[4][1] ..
      "*"..emptyspot[4][2].."*"..emptyspot[4][3].."*"..emptyspot[4][4]..      
      "*"..emptyspot[4][5].."*"..emptyspot[4][6].."*"..emptyspot[4][7].."*"..emptyspot[4][8].."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("     *************************************************************************\n") io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("    E *".. emptyspot[5][1] ..
      "*"..emptyspot[5][2].."*"..emptyspot[5][3].."*"..emptyspot[5][4]..      
      "*"..emptyspot[5][5].."*"..emptyspot[5][6].."*"..emptyspot[5][7].."*"..emptyspot[5][8].."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("     *************************************************************************\n") io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("    F *".. emptyspot[6][1] ..
      "*"..emptyspot[6][2].."*"..emptyspot[6][3].."*"..emptyspot[6][4]..      
      "*"..emptyspot[6][5].."*"..emptyspot[6][6].."*"..emptyspot[6][7].."*"..emptyspot[6][8].."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("     *************************************************************************\n") io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("    G *".. emptyspot[7][1] ..
      "*"..emptyspot[7][2].."*"..emptyspot[7][3].."*"..emptyspot[7][4]..      
      "*"..emptyspot[7][5].."*"..emptyspot[7][6].."*"..emptyspot[7][7].."*"..emptyspot[7][8].."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("     *************************************************************************\n") io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("    H *".. emptyspot[8][1] ..
      "*"..emptyspot[8][2].."*"..emptyspot[8][3].."*"..emptyspot[8][4]..      
      "*"..emptyspot[8][5].."*"..emptyspot[8][6].."*"..emptyspot[8][7].."*"..emptyspot[8][8].."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("      *".. empty ..
      "*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*"..empty.."*\n")
      io.write("     *************************************************************************\n\n")
  
      io.write("      Choose a piece to move and the location\n      for it to be moved to separated by a space:\n") 
  end
  
  function initBoard()    
      emptyspot[1][1] = rook  
      emptyspot[1][2] = knight
      emptyspot[1][3] = bishop    
      emptyspot[1][4] = queen     
      emptyspot[1][5] = king  
      emptyspot[1][6] = bishop    
      emptyspot[1][7] = knight
      emptyspot[1][8] = rook  
      emptyspot[8][1] = rook  
      emptyspot[8][2] = knight    
      emptyspot[8][3] = bishop    
      emptyspot[8][4] = queen
      emptyspot[8][5] = king  
      emptyspot[8][6] = bishop    
      emptyspot[8][7] = knight    
      emptyspot[8][8] = rook  
      for i = 1, 8 do         
          emptyspot[2][i] = pawn  
      end     
      for i = 1, 8 do         
          emptyspot[7][i] = pawn  
      end
  end
  
  function swapPieces(piece1, piece2)     
      temp = piece1   
      piece1 = piece2
      piece2 = temp 
  end
  
  function movePawnPlayerOne(spot1, spot2)    
      spot1 = spot1 + 1
      emptyspot[spot1][spot2] = pawn  
      print(emptyspot[spot1][spot2]) 
  end
  
  
  initBoard() 
  while true do   
      chessBoard()
      --Take first input for movement     
      input = io.read("*line")    
      loc1 = string.sub(input,1,1)
      loc2 = string.sub(input,2,2)
  
      if((loc1 == "A") or (loc1 == "a")) then         
          loc1 = 1        
      end     
      if ((loc1 == "B") or (loc1 == "b")) then        
          loc1 = 2        
      end     
      if ((loc1 == "C") or (loc1 == "c")) then        
          ioc1 = 3
      end     
      if ((loc1 == "D") or (loc1 == "d")) then        
          loc1 = 4        
      end     
      if ((loc1 == "E") or (loc1 == "e")) then
          loc1 = 5
      end     
      if ((loc1 == "F") or (loc1 == "f")) then        
          loc1 = 6
      end     
      if ((loc1 == "G") or (loc1 == "g")) then    
          loc1 = 7
      end     
      if ((loc1 == "H") or (loc1 == "h")) then        
          loc1 = 8
      end
  
      if (emptyspot[loc1][loc2] == pawn) then         
          movePawnPlayerOne(loc1, loc2)   
      end
  
      print(emptyspot[3][1])
  
      if string.find(input, "restart") then 
          initBoard()     
      end     
      if string.find (input, "exit") then 
          os.exit()   
      end 
  end
  </code></pre>
  
  <p>The piece of code in question is towards the bottom.  Both <code>emptyspot[][]</code> and <code>pawn</code> are both strings.</p>