URL: http://atnd.org/events/34622
今日はクリスマス 兼 Advent Calendar最終日。しかし多忙なのであまり濃い情報は載せられないかも?
Booにはインタラクティブなインタプリタとしてbooishがあります。
BOO - Interactive Interpreter
このサイトを見たが、特にインストールをMacOS Xにする方法なさそう。
srcにどうたらこうたら言ってますが、
一度ここからダウンロードしてみたがよくわからない
URL: http://dist.codehaus.org/boo/distributions/?C=M;O=D
SharpDevelopを使うような気がするのでWindowsではないので却下。
githubをみた。
https://github.com/ceykooo/homebrew-boo
「How do I install these formulae?
Just brew tap ceykooo/homebrew-boo and then brew install
の意味がわからなかった。
公式のインストール方法?
brew install https://raw.github.com/ceykooo/homebrew-boo/master/<formula>.rb
これの意味がわからんかったが、
つまり、コレをした。
brew tap ceykooo/homebrew-boo https://raw.github.com/ceykooo/homebrew-boo/master/boo.rb
コンパイルにやけに時間が掛かる。
10分くらい待ったかも?
zshに怒られたが、booコマンドで実行できた
> boo zsh: correct 'boo' to 'booi' [nyae]? n boo command line utility 0.9.4.9 Cannot load history from '/Users/sugita/.local/share/booish_history' The following builtin functions are available : /? or /h or /help : display this help dir(type) : returns the members of a type describe(type) : describe a type as boo code globals() or /g : returns names of all variables known to interpreter load(file) or /l file : evals an external boo file save(file) or /s file : writes your current booish session into file quit() or /q : exits the interpreter >>>def doit(p): ... print p.ToUpper() ... >>>doit("a string") A STRING
おまけ
最近、いまさらですがリーダブルコード↑を読むときに思い出しました。
Pythonでは関数を呼ぶときに引数に任意の引数名を入れて渡すことによって、
呼びだすことができる。
これのお陰でどの引数が何番目かを忘れてても呼びだすことができるのだ!
・arg_test.py
def Hoge(arg0, arg1): print (arg0) print (arg1) Hoge(arg1=1, arg0=0)
↓結果
0 1
このようにarg1が先に来てても結果が正しい。
じゃあこの機能はBooにもあるかドキュメント探すより実行したほうが速いのでやってみた。
・ArgTest.boo
import UnityEngine class ArgTest (MonoBehaviour): def Start(): Hoge(arg1=1, arg0=0) def Hoge(arg0 as int, arg1 as int): Debug.Log(arg0) Debug.Log(arg1)
↓結果
1 0
って・・・・。これはエラーこそならんかったけど、
単に「arg=1」と代入して渡しているだけだった。
やっぱりBooはデフォルト引数がないし、Pythonのいいところをすべて
受け継いでいない。