MacのOSアップデート後にGenymotionが起動しなくなったときの対処法
経緯
MacのOSをMavericksにアップデート!
↓
Genymotionが起動しない…。
対処法
VirtualBoxを再起動する。
sudo /Library/StartupItems/VirtualBox/VirtualBox restart
参考
Jadeをリアルタイムでプレビュー表示する
Pythonの文字列 (3) + リスト
文字列
今回は文字列に関するPython特有っぽい機能について*1。
- 文字列の繰り返し
- Unicode 文字列
- 文字列の長さを調べる
>>> 'Abc' * 2 'AbcAbc' >>> u'あいうえお' u'\u3042\u3044\u3046\u3048\u304a' >>> len(u'あいうえお') 5
リスト
>>> li = ['a', True, 100, [3, 5]] # 1つのリストに複数の型を入れられる >>> li ['a', True, 100, [3, 5]] >>> li[1:2] = [] >>> li ['a', 100, [3, 5]]
まとめ
インデックス、スライス演算、len
など、文字列と同じ感覚で操作できていい感じ。
len
がstr
とかlist
のメソッドじゃないのが違和感があるなぁ…。
Todo
Unicode文字列がどんな場面で使われるか調べる。
*1:他の言語にもあるかもしれないが、少なくともJavaとJavaScriptには無い
Pythonの文字列 (2)
前回のToDoについて
文字列操作メソッドはいろいろ用意されていてるらしく、上記も当然サポートされている*1。詳細は5.6.1. 文字列メソッド参照。
一例として、以下がある。
- str.find(sub[, start[, end]])
- 文字列を検索する
- 存在しない場合は-1を返す
>>> "FooBar".find("ooB") 1 >>> "FooBar".find("ooF") -1
- str.strip([chars])
- 文字列をトリムする
- charsを指定した場合は、文字列の先頭と末尾からcharsを除去する
>>> " FooBar ".strip() ['FooBar'] >>> "rFooBar".strip("r") 'FooBa'
個人的に一番面白いと思ったのがstr.format(*args, **kwargs)
。{0}
、{1}
などを使って置換文字列を指定するらしい。下記サンプルの文章は超適当に考えた。
>>> "This {0} a {1}. It {0} mine.".format("is", "pen") 'This is a pen. It is mine.'
*1:メソッド名は異なる
Pythonの文字列
今日からPython チュートリアルを少しずつこなしていく。
3.1.2 文字列
- 文字列は " or ' で囲む
>>> "Hello World!" 'Hello World!'
- 複数行の文字列は """で開始する
- 改行コード(\n)も付加してくれるらしい
>>> """This ... is ... multiple message. ... """ 'This\nis\nmultiple message.\n'
- 文字列の連結は+演算子を使う
>>> "Foo" + "Bar" 'FooBar'
- [開始位置:終了位置]を指定して任意の位置の文字列を取り出せる
- スライス演算と呼ぶらしい
>>> ("Foo" + "Bar") [3:5] 'Ba' >>> ("Foo" + "Bar") [3:2] # 開始位置 > 終了位置 の場合はブランク '' >>> ("Foo" + "Bar") [-1] # 後ろから1番目 'r'
- Javaと同じで文字列はイミュータブル(変更しようとするとエラーがでる)
>>> ("Foo" + "Bar") [-1] = "a" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment
とりあえず今日はここまで。
今年学びたいこと
もうすでに3月も終わろうとしているけれど、今年学びたいこと。
- Scala
- 関数型言語のパラダイムを学びたい
- まずはScala本を買う
- Play framework 2.0使って簡単なWebアプリケーションを作るなど
- Python
- Python チュートリアルを理解できる程度
- 簡単なツールを作りたい
- Webアプリケーションは作れなくてもいい(まずはScalaでやる)
- Vim
- 上記言語のエディタとして
- Git, GitHub
- そろそろちゃんとした使い方を覚えたい
ところで、MacBook Proが4月~6月に出るという噂があるので発売したら買いたい。
WindowsにもMacのようなTerminalがあったらいいんだけど。