Learning to program - The Basics - Handling Text

Manipulating Text

There are only two elements in the list this time and the opening parenthesis has been removed from the front of 'short)'. That's an important point to note about ''.split(), that it removes the separator characters. Usually that's what we want, but just occasionally we'll wish it hadn't!

Also, it can only be used on a single file (menu.txt). But it's not too hard to convert it to read the filename from the command line ( argv[1]) or via raw_input() as we saw in the Talking to the user section. I leave that as an exercise for the reader.

んまぁ、これは後でやるか。

Searching Text

temp = aString[:] # use slice to make a copy

これがちょっとわからなかった。temp = aStringでも同じ内容になったので。[:]とはなんなのだろうか。一応print文でそれぞれ表示させてみたが、違いがわからなかった。

temp = temp[index + 1:] # use slicing

これでやっと違いがわかった。これでindex+1より後の要素(Element)をコピーできるからか。だから明示的に上でaStringにせずに、aString[:]にして全部コピーできるよって使ったのか。それで今回でaString[index +1 :]でindex+1以降の要素を全部コピーできるよということを示したのか。なるほどね。

ていうか、先程からEmacsでコードを書き始めている。色使い的にも最高!あれ、nanoを勉強してからというのはどうなった?wだがそれがいい。てか、いつでもnanoには戻れるしね。戻らないかもしれないけど……nanoたそ
とりあえずEmacsのメモとしては、emacs -nwで-nwオプションをつけることでGnome Terminalの内部で起動、この方が格好いい画面だと個人的に思うのでその理由オンリーに近いけど、それで使っているwemacs file1.txt -nwとかで指定のファイルを開いて起動。
Ctrl+X-Fでファイルオープン、Ctrl+X-Sでファイルセーブ、Ctrl+X-CでEmacs終了。Ctrl+/あたりでUndo。困ったときはCtrl+Gとかかな?Deleteなんかはnanoと同じで、というかnanoがEmacsに似せていて、Ctrl+Dなんだけど、Backspaceがどのキーかわからない。Ctrl+H-HとかしてるとHelpの画面になっちゃうし。そうなった場合いらないバッファーというか画面?を消すためにCtrl-X-Kでキルすることとかを知る。Ctrl-X-0とか、Ctrl-X-1とかで画面も統合や移動できた気がするが、全く正確ではない。上、下、右、左などの移動はnanoと同じ、というかnanoがEmacsと同じ。コピー&ペーストなんかはEmacs独自仕様だったと思う。

まぁ、少しずつEmacsに慣れていくことにして、Pythonに戻る。

と思ったけど、やはりBackspaceが気になったのでググってみた。出るわ出るわ。Emacsではちょっと特殊な挙動でした。.emacs(自分のホームディレクトリね。~/のところ。またはTerminal開いたときの最初のディレクトリ。みたいな感じになければ作る。というか、Linux/Unix系はそういう個人の設定ファイルはむしろないから、自分で作って設定するらしい。)に(global-set-key "\C-h" 'delete-backward-char)を設定して、.emacsセーブして使えること確認。ただし、Helpはどうやってみるのかわからなくなったぞwちょwww俺、初心者なのにそれでいいのかwwwまぁ、.emacsの該当行消せば見られるようになるっしょ。と楽観的。何故に?

こんなことも書いてあったりするので採用は自己責任で。

http://www.bookshelf.jp/texi/emacs-man/21-3/jp/faq_10.html

この方法はお薦めできません。この方法では DEL を delete-backward-char に割り当てているモードでのみうまくいきます。そうでないモード(例えばview-mode)では Backspace でヘルプが起動するでしょう。このため上記の keyboard-translate を利用する方法をお薦めします。

とりあえずこれでまたHelpを無視するという大雑把に問題は解決したので、進むことにする。こういう埋め合わせのというか、落とし穴を埋めてすらいないのに進む体質、毎度思うがこの男糞である。

で、同じようにemacs -nwで毎回起動する方法ないかなーと思っていたらgnome terminalの初期設定で使っているシェルスクリプトbashさんをいじる方法で、aliasを設定すればいいじゃないとあったので、そうしてみる。

#Emacs
alias emacs='emacs -nw'
alias editor='emacs -nw'

こんな感じにしてみた。これははてなブックマークのコメントでemacsemacs -nwにしちゃうのはどうなのとかつけられてたけど、落とし穴を掘って進むタイプだと俺はもう上で述べている!

とまぁ、こんなぐだぐだで進んでいくのである。
しかしあれだなぁ、alias△だなぁ。

Replacing text
Changing the case of charactersも終了。

後はVBScriptJavaScriptかぁ。

Text handling in VBScript特に問題なし。
Text handling in JavaScript

EmacsではCtrl+X-Wで所謂新しいファイル名で保存。
http://flex.phys.tohoku.ac.jp/texi/emacs-jp/emacs-jp_69.html#SEC89

よし、何気にHandling Text終わらせたわ。今日の俺やるじゃん。というかここ意外と簡単だった気がするけど。
まぁ、ゲームにかまけてやってなかったのを、ゲームやらなくしただけなんだが。ゲームやらなくしたからプログラミングやるしかないっつーw