function test_isInt()
  -- POS --
  assert_equal("0", isInt("0"))
  assert_equal("678", isInt("678"))
  assert_equal("-42", isInt("-42"))
  -- NEG --
  assert_equal(nil, isInt("--34"))
  assert_equal(nil, isInt("78.2"))
  assert_equal(nil, isInt("0a"))
end
test_isInt()
[/code]
És rögtön látjuk, hogy van valami bibi a mintaillesztéssel.
[+] a szamitott 0 egyenlo a vart 0 ertekkel
[+] a szamitott 678 egyenlo a vart 678 ertekkel
[+] a szamitott -42 egyenlo a vart -42 ertekkel
[-] a szamitott -34 nem egyenlo a vart NIL ertekkel
[-] a szamitott 78 nem egyenlo a vart NIL ertekkel
[-] a szamitott 0 nem egyenlo a vart NIL ertekkel
Mi is a gond ezzel a kifejezéssel? "[-+]?%d+"
Nincs lezárva soreleje és sorvége karakterrel.
Akkor most javítva: "^[-+]?%d+$"
[+] a szamitott 0 egyenlo a vart 0 ertekkel
[+] a szamitott 678 egyenlo a vart 678 ertekkel
[+] a szamitott -42 egyenlo a vart -42 ertekkel
input:14: attempt to concatenate local 'actual' (a nil value)
Újabb hiba. Elég nehéz sztringgel összefűzni egy logikai igaz vagy hamis értéket. Javítás:
actual = actual or "NIL" -- beszúrása expected = expected or "NIL" sor alá
Most kéne kigyulladnia a zöld lámpának...
Kód: http://foofighter.pastebin.com/UBYi1UwM
2. Hogyan teszteljünk mail-címet?
Minden mail-cím tartalmaz egy @ karaktert. Bontsuk a feladatot kukac utáni és kukac előtti részre:
@ utáni rész, a domain
@ előtti rész
Angol abc betűi és a pont megengedett csak.
function isMail(input)
  -- %w = [a-z0-9]
  before_at = "[-%w]+"
  after_at  = "@[-%w]+%.%w+"
  return string.match(input, "^"..before_at.."@"..after_at.."$")
end
[b]3. Hogyan teszteljük a gmail-címet?
-- only letters (a-z), numbers (0-9), and periods (.) are allowed. --
-- your username must be between 6 and 30 characters long --
???
Kódtesztelés: http://www.lua.org/cgi-bin/demo
Forrás: http://www.lua.org/pil/20.2.html
- foofighter blogja
 - A hozzászóláshoz be kell jelentkezni
 - 743 megtekintés
 
Hozzászólások
miért pont a lua?
- A hozzászóláshoz be kell jelentkezni
 
mert kurvakibaszott gyors
- A hozzászóláshoz be kell jelentkezni
 
Mert szerintem, ami most a Windowsnak a Powershell, az a Linuxnak a Lua lesz. Najó, nem. :D
Szeretem a nyelvet, mert viszonylag egyszerű és gyorsan lehet szkriptelni benne. Amúgy meg mindenhol ott van (MysqlProxy, Lighttpd - mod_magnet, Scite, Wireshark)
- A hozzászóláshoz be kell jelentkezni
 
Warhammer Online, World of Warcraft, etc. :Đ
Tyrael
- A hozzászóláshoz be kell jelentkezni