Clojure version:
JavaScript
x
3
1
(defn greeting [& [name]]
2
(cond-> "Hello" name (str " " name))
3
Naive Python version:
JavaScript
1
6
1
def greeting(name=None):
2
if name is None:
3
name = ''
4
else: name = ' ' + name
5
return 'Hello' + name
6
Question: How to make the python version shorter and more idiomatic?
Advertisement
Answer
JavaScript
1
3
1
def greeting(name=''):
2
return f'Hello {name}'.strip()
3
In case with None
as default argument:
JavaScript
1
3
1
def greeting(name=None):
2
return f'Hello {name}' if name else 'Hello'
3