1

lua を chaiscript に移植しています。元の lua コードは以下を使用しますsplit

function string:split(delimiter)
    local result = { }
    local from  = 1
    local delim_from, delim_to = string.find( self, delimiter, from  )
    while delim_from do
        table.insert( result, string.sub( self, from , delim_from-1 ) )
        from  = delim_to + 1
        delim_from, delim_to = string.find( self, delimiter, from  )
    end
    table.insert( result, string.sub( self, from  ) )
    return result
end

しかし、chaiscript のバージョンが見つかりませんsplit... chaiscript にはsplit機能がありますか?

4

2 に答える 2

2

ChaiScript のstring機能は、C++ で利用できるものを直接マッピングしたものですstd::string。したがって、分割機能は組み込まれていません。

于 2016-08-19T00:37:01.020 に答える
0

ここにあるような独自のものを簡単に使用できます: C++ で文字列を分割しますか?

#include <string>
#include <sstream>
#include <vector>

void split(const std::string &s, char delim, std::vector<std::string> &elems) {
    std::stringstream ss;
    ss.str(s);
    std::string item;
    while (std::getline(ss, item, delim)) {
        elems.push_back(item);
    }
}


std::vector<std::string> split(const std::string &s, char delim) {
    std::vector<std::string> elems;
    split(s, delim, elems);
    return elems;
}
于 2016-11-24T08:29:01.950 に答える