Tue, 21 Feb 2006

Software Design 2006年03月号

LL最新動向ってのに惹かれて買ってみた。

Lightweight Languageとは?にあったPythonサンプルコードに関して、 なんだか違和感を覚えた。

def is_ll (lang):
    ll = ['Perl','Ruby','Python','PHP','Jython','Groovy']
    if (ll.count(lang) >= 1):
       ans = lang + "はLLです。"
    else:
       ans = lang + "はLLじゃないかも。"
    return ans

print is_ll('Python')

if (ll.count(lang) >= 1): の部分だな。そもそもcountとは、

s.count(x) : s[i] == x となる i の個数を返します

というもの。llのリストには各言語が1種類ずつしか入っていないんだから、 ここで個数を数える必要はないから、単純に下記のように書いてやったほうが Pythonっぽいような気がする。あとこの場合括弧はない方がいいかな。

if lang in ll:
   ans = lang + "はLLです。"

あと、TurboGearに関してはそのうち試してみようかなーと思う反面、 minor嗜好なので、TurboGearsいいでっせ!これからはやりまっせ!っとか 言われるとついついもうちょっとマイナーそうなのでおもしろいのないかな? とか思ってしまう自分がいる。