このphp関数を変換しようとしています
function strpos_r($haystack, $needle)
{
if(strlen($needle) > strlen($haystack))
trigger_error(sprintf("%s: length of argument 2 must be <= argument 1", __FUNCTION__), E_USER_WARNING);
$seeks = array();
while($seek = strrpos($haystack, $needle))
{
array_push($seeks, $seek);
$haystack = substr($haystack, 0, $seek);
}
return $seeks;
}
このPython関数を作成しましたが、期待どおりに機能していません。
def strposR(haystack, needle):
if strlen(needle) > strlen(haystack):
sys.stderr.write("length of argument 2 must be <= argument 1")
seeks = []
seek = 0
while seek == haystack.rfind(needle):
seeks.append(seek)
haystack = haystack[0:seek]
return seeks
def strlen(x):
return len(x)
私が間違っていることは何ですか?どんなポインタでも大歓迎です。