URL: http://atnd.org/events/34622
PythonのPEP8というPythonのコーディングスタイルがいい。
しかもpep8コマンドを使えば整形してくれます。
Booにもないかな?ってBooのGoogleグループで聞くと、
・元
The pep8 command uses a pretty forgiven parser and will work on most Boo code. regards, /imv
・shinriyo超訳
pep8コマンドは多めに見てくれるパーサで動くー、ほとんどのBooコードで動くっちゃ。
forgivenをfortgotの過去分詞と勘違いしました。それは"forgotten"でしたね。ちなみに9つの実のうちの1つ。
こんな感じにインストールした
↑127 Assets/Scripts git:(master) ▶ workon pyfes2012 (pyfes2012)Ξ ~VIRTUAL_ENV git:(master) ▶ pep8 zsh: command not found: pep8 (pyfes2012)↑127 ~VIRTUAL_ENV git:(master) ▶ pip install pep8 Downloading/unpacking pep8 Downloading pep8-1.3.4.tar.gz (44Kb): 44Kb downloaded Running setup.py egg_info for package pep8 Requirement already satisfied (use --upgrade to upgrade): setuptools in ./lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg (from pep8) Installing collected packages: pep8 Running setup.py install for pep8 Installing pep8 script to /Users/xxxxx/.virtualenvs/pyfes2012/bin Successfully installed pep8 Cleaning up... (pyfes2012)Ξ ~VIRTUAL_ENV git:(master) ▶
virtualenvとvirtualenvwrapperを使ってます。使い方はこの本を買おう。
実験します。
以前書いたと思われるコード
・Test.boo(元のコード)
import UnityEngine class Test (MonoBehaviour): def Start (): a = OverloadOperator(10, 200) b = OverloadOperator(30, 20) c = a + b Debug.Log("a:"+a.mA+","+a.mB + " b:"+b.mA+","+b.mB + " c:"+c.mA+","+c.mB)
MacOS X版だけかもしれないが、このようにドラッグ&ドロップでパス入力が面倒くさいのでこのように入力します。
・実行!
pep8 --show-source /Users/xxxx/boo_test/Assets/Scripts/Test.boo
-
- show-sourceオプションつけるとソースの誤差が見える
あれ?自動整形はしてくれなかったっけ?
この警告どおりに直すのは面倒くさい。
「pep8 autofix」でググる。
autopep8が出る。
このように"-i"オプションをつける。※つけないとコンソール上にケッカソース出るだけ
autopep8 -i /Users/xxxx/boo_test/Assets/Scripts/Test.boo
こうすれば自動に整形して上書いてくれる
・Test.boo(変更後のコード)
import UnityEngine class Test (MonoBehaviour): def Start(): a = OverloadOperator(10, 200) b = OverloadOperator(30, 20) c = a + b Debug.Log("a:" + a.mA + "," + a.mB + " b:" + b.mA + "," + b.mB + " c:" + c.mA + "," + c.mB)
お!!!!!きちんと改行された
って、クラス名の後のスペースは無視か?
ちなみに、こんな感じ↓にしてもpep8もautopep8も無視された・・・
class Test (MonoBehaviour):
ここのサンプルはクラス名と(の間に何もないから何もなくす!
http://oldriver.org/python/pep-0008j.html
では次へ!