Humaid Abdulla Saleh

Humaid Abdulla Saleh (Arabic:حميد عبد الله صالح) (born 7 April 1996) is an Emirati footballer. He currently plays as a winger for Ajman.[1][2]

Humaid Abdulla
حميد عبد الله
Personal information
Full name Humaid Abdulla Saleh Al-Hammadi
Date of birth (1996-04-07) 7 April 1996
Place of birth Emirates
Height 1.70 m (5 ft 7 in)
Playing position(s) Winger
Club information
Current team
Ajman
Number 89
Youth career
2008–2014 Al-Shaab
Senior career*
Years Team Apps (Gls)
2014–2017 Al-Shaab 37 (1)
2017–2018 Al-Sharjah 0 (0)
2018– Ajman 17 (0)
* Senior club appearances and goals counted for the domestic league only

Career

Al-Shaab

Humaid Abdulla started his career at Al-Shaab and is a product of the Al-Shaab's youth system. On 7 February 2014, Humaid Abdulla made his professional debut for Al-Shaab against Al-Ahli in the Pro League, replacing Ahmad Eisa Kamil.[3]

Al-Sharjah

He was playing with Al-Shaab and after merging Al-Sharjah, and Al-Shaab clubs under the name Al-Sharjah he was joined to Al-Sharjah.[4]

Ajman

On 8 September 2018, left Al-Sharjah and signed with Ajman.[5] On 13 December 2018, Humaid Abdulla made his professional debut for Ajman against Al-Dhafra in the Pro League, replacing Mohammed Ahmad.[6]

gollark: ... also array literals, bee their bad docs.
gollark: Please also give me write access to the repo.
gollark: Oh, right, array indexing.
gollark: ```python# parsita-based pseudocode syntax parserfrom stmt import *from parsita import *from parsita.util import constantdef compose(f, g): return lambda x: f(g(x))def map_expr(x): start, end = x if end == "": return start return Op([start, end[1]], end[0])def map_unop_expr(x): return Op(x[1], x[0])def aliases(name, aliases): p = lit(name) for alias in aliases: p |= (lit(alias) > (lambda _: name)) return pclass ExprParser(TextParsers): ε = lit("") IntLit = reg("\-?[0-9]+") > compose(IntLit, int) StrLit = "'" >> reg("[^']*") << "'" > StrLit # TODO escapes (not in "spec" but could be needed) FloatLit = reg("\-?[0-9]+\.[0-9]+") > compose(FloatLit, float) Identifier = reg("[a-zA-Z_]+[a-zA-Z_0-9]*") > Var BracketedExpr = "(" >> Expr << ")" UnaryOperator = lit("NOT") Start = FloatLit | StrLit | IntLit | BracketedExpr | (UnaryOperator & Expr > map_unop_expr) | Identifier # avoid left recursion problems by not doing left recursion # AQA pseudocode does not appear to have a notion of "operator precedence", simplifying parsing logic nicely BinaryOperator = aliases("≤", ["<="]) | aliases("≠", ["!="]) | aliases("≥", [">="]) | lit("DIV") | lit("MOD") | lit("AND") | lit("OR") | reg("[+/*\-=<>]") End = (BinaryOperator & Expr) | ε Expr = (Start & End) > map_exprparse = ExprParser.Expr.parsex = parse("1+2+3 != 6 AND NOT 4 AND x + y")if isinstance(x, Failure): print(x.message)else: print(x.value)```
gollark: <@332271551481118732> Expression parsing is done, I think.

References


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.