簡體   English   中英

我正在嘗試用指針創建一個substr方法......有更優雅的解決方案嗎?

[英]I am trying to create a substr method with a pointer… is there a more elegant solution?

這是交易。 我正在做一些字符串操作,我經常使用substr方法。 但是,我需要使用它的方式更像是一個php fread方法。 然而,我的substr需要由指針引導。 這個過程需要像這樣:

var string='Loremipsumdolorsitamet,consectetur'

如果我讀進去,'Lorem'.....作為我的第一個子呼叫:

string.substr(offset,strLenth)//0,5

那么我的下一個substr調用應該自動從我的字符串中的這個位置開始的偏移量開始:

offset pointer starts here now=>ipsumdolorsitamet,consectetur'

如果您沒有注意到,偏移量需要知道,從字符串中的第六個位置開始。

Soooo ......我想出了這個有效的解決方案,我想知道它是否是一個好的解決方案,或者是否有人有任何建議添加到它?:

var _offSetPointer=0

var _substrTest={
    _offset:function(){return _offSetPointer+=getLength}
    };  


//usage, where p is the length in bytes of the substring you want to capture.
string.substr(_substrTest._offset(getLength=p),p)
var reader = function (string, offset) {
    offset = offset || 0;
    return function (n) {
        return string.substring(offset, (offset+=n||1));
    }
}

var read = reader("1234567");

read(2)
"12"

read(3)
"345"

read()
"6"

read(1)
"7"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM