2011年2月28日月曜日

スクリプトディレクトリへの相対パスの取得

スクリプト実行時のカレントディレクトリから、現在実行しているスクリプトへの相対パスは下記で取得します。

例)Python

import os

os.path.dirname(__file__)

2011年1月22日土曜日

文字列を文字配列にするにはlist()

文字列を文字配列に変換するにはlist()関数を使用します。
例)Python

s = "abcde"
l = list(s)


例)Java

String s = "abcde";
char[] schars = s.toCharArray();

2010年6月23日水曜日

文字列の長さは len()

文字列の長さは len() 関数で取得します。
例)Python

s = "abcde"
len(s)


例)Java

String s = "abcde";
s.length();

2009年11月3日火曜日

URLエンコード

PythonでURLエンコードを行うにはurllibライブラリのquote_plus関数を使用します。

例)Python

import urllib

urlenc_param = urllib.quote_plus(param.encode('utf8'))


例)Java
※メソッド宣言は省略しています。

import java.net.URLEncoder;

String urlenc_param = URLEncoder.encode(param, "UTF-8");

2009年10月19日月曜日

StringBufferにはjoin()を代用する

文字列の連結を行うにはバッファリングを行った方が効率的です。JavaではStringBufferを用いますが、Pythonでははjoin()関数を利用します。

例)Python

buffer = []

for i in range(100):
buffer.append(str(i))

print ''.join(buffer)

例)Java

StringBuffer buffer = new StringBuffer(100);

for(int i = 0; i < 100; i++) {
buffer.append(String.valurof(i));
}

System.out.println(buffer.toString());

2009年10月9日金曜日

辞書にはKeyの存在を問合せる必要あり

Pythonの辞書(JavaではMap)から値を取り出す際に存在しないキーを指定するとエラーになってしまいます。
そのため取得を行う前にhas_key()を用いてキーの存在を問合せる必要があります。

例)Python

value = None

if map.has_key("hoge"):
value = map["hoge"]

例)Java
JavaのMapインターフェースではKeyが存在しない場合はnullを返すことが定義されています。

String value = (String)map.get("hoge");

2009年10月5日月曜日

インクリメント for ループ

インクリメントのforループです。

例)Python

"range(100)"は「100個の配列を生成する」という関数で、"0"から始まり"99"までとなります。

for i in range(100): # 変数iを0から99までインクリメントして繰り返す。
print i
例)Java

for (int i = 0; 100 > i; i++) {
System.out.pritln(i);
}