【问题标题】:How do I convert a string to a location and vice versa?如何将字符串转换为位置,反之亦然?
【发布时间】:2013-09-10 09:24:17
【问题描述】:

我想获取一个方法的路径,例如“p2-SnakesAndLadders/snakes/DieTest/reached”,并通过在前面加上“|java+method://”并将该字符串用作地点。相反,我想获取位置的字符串值。 Location 或 String 的文档中似乎没有任何提示。

【问题讨论】:

    标签: rascal


    【解决方案1】:

    首先你可以通过将字符串添加到位置的末尾来做到这一点,就像这样(我认为你需要三个正斜杠,至少在我的情况下,如果我只使用两个,我会得到一个格式错误的 URI 异常):

    rascal>l = |java+method:///| + "p2-SnakesAndLadders/snakes/DieTest/reached";
    loc: |java+method:///p2-SnakesAndLadders/snakes/DieTest/reached|
    

    第二个你可以使用路径字段

    rascal>l.path;
    str: "/p2-SnakesAndLadders/snakes/DieTest/reached"
    

    如果你想去掉第一个斜线,你可以这样做

    rascal>l.path[1..];
    str: "p2-SnakesAndLadders/snakes/DieTest/reached"
    

    【讨论】:

      【解决方案2】:

      谢谢。我还发现插值效果很好,所以如果我有一个 uri,那么

      uri == |<uri.scheme>://<uri.authority><uri.path>|
      

      【讨论】:

        猜你喜欢
        • 2012-05-01
        • 1970-01-01
        • 2016-06-08
        • 2011-05-27
        • 2012-04-27
        • 2017-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多