今私がしようとしていることについては、loc
タイプの行番号を取得する必要があります。ロープからの情報の取得
|file:///randomfile.java|(0,11817,<1,0>,<185,1>)
私がトップ(...)を使用して、最初の部分を取得することができますが、私は第二部、より具体的な得るのですか:行番号を、私はこのケースで信じているそれはライン#1になります。
PS誰かが私にすべての数字の意味に関する情報を案内することができますが、ドキュメントで見つけられないようです。
今私がしようとしていることについては、loc
タイプの行番号を取得する必要があります。ロープからの情報の取得
|file:///randomfile.java|(0,11817,<1,0>,<185,1>)
私がトップ(...)を使用して、最初の部分を取得することができますが、私は第二部、より具体的な得るのですか:行番号を、私はこのケースで信じているそれはライン#1になります。
PS誰かが私にすべての数字の意味に関する情報を案内することができますが、ドキュメントで見つけられないようです。
行番号を取得するには、場所がl
とすると、l.begin.line
が使用されます。
は、より一般的には、位置|file:///randomfile.java|(0,11817,<1,0>,<185,1>)
与えられ、数値ので、(offset, length, < startingLine, startingColumn >, < endingLine, endingColumn>)
を表す:
0
この場所が始まる指定されたファイルにoffset
あります。11817
は、これらを使用して、インスタンス固有のクラスやメソッドの定義のために、ファイルの一部を識別するために場所を使用できるようにする場所でカバーlength
です。
1
最初の行(startingLine
)が位置0
に含まれる最初の列(startingColumn
)が位置185
に含まれる最後の行(endingLine
)が位置1
は、その場所に含まれる最後の列(endingColumn
)です。オフセットと長さは、場所でカバーされているファイルの実際の部分を十分に定義しているため、オプションとして表示することができ、含める必要はありません。また、タブの文字をエディタ内の複数の文字に展開できるので、少なくともカラムでは必ずしも適切な値であるとは限りません。
は場所のこれらの部分のそれぞれにアクセスするには、次の使用:rascal>|file:///randomfile.java|(0,11817,<1,0>,<185,1>).offset;
int: 0
rascal>|file:///randomfile.java|(0,11817,<1,0>,<185,1>).length;
int: 11817
rascal>|file:///randomfile.java|(0,11817,<1,0>,<185,1>).begin;
tuple[int line,int column]: <1,0>
rascal>|file:///randomfile.java|(0,11817,<1,0>,<185,1>).begin.line;
int: 1
rascal>|file:///randomfile.java|(0,11817,<1,0>,<185,1>).begin.column;
int: 0
rascal>|file:///randomfile.java|(0,11817,<1,0>,<185,1>).end;
tuple[int line,int column]: <185,1>
rascal>|file:///randomfile.java|(0,11817,<1,0>,<185,1>).end.line;
int: 185
rascal>|file:///randomfile.java|(0,11817,<1,0>,<185,1>).end.column;
int: 1
あなたはこのような方式として場所の他の部分にアクセスする方法に関するドキュメントなど、ここではより詳細な情報を見つけることができますURIまたは参照されるリソース/ファイルの名前で使用されます。http://tutor.rascal-mpl.org/Rascal/Rascal.html#/Rascal/Expressions/Values/Location/Location.html
正直な回答ありがとうございます。ちょうど私が探していたもの。ファイルへのオフセットは、バイトまたは文字で表されますか? –