• scala学习手记6


    scala中的字符串类就是java中的java.lang.String类。不过scala也为String提供了一个富封装类:scala.runtime.RichString。

    scala可以将java.lang.String类自动转换为scala.runtime.RichString类。这样就可以非常方便地使用capitalize()、lines()和reverse()等方法相对较便捷的方法(有时候这样做也会带来一些问题,比如涉及到类型比较的时候)。

    在scala里,对于字符串的支持中最显著的一个特性是对于heredoc的支持,也就是对多行文本的支持。在scala里创建多行字符串非常容易,只要将多行字符串放在三个双引号里就行。在下面的代码里创建了一个四行的字符串:

    var info =
      """
         这里是robin的信息:
              robin的姓名:robin zhang;
              robin的年龄:29;
              robin的个人主页:zhyea.com
      """
    
    println(info)

    输出如下:

    image

    scala会将三个双引号间的内容保持原样,在scala里称为原始字符串。比如我们可以在原始字符串里直接使用双引号或者反斜杠:

    var info =
      """
         这里是robin的信息:
              robin的姓名:robin zhang;
              robin的年龄:29, or "nicai";
              robin的个人主页:zhyea.com
         然后我想换行来着:
    
         好吧,没有成功换行!
      """
    
    println(info)

    输出如下:

    image

    如果不想使用缩进的话可以考虑使用RichString的stripMargin()方法,这个方法需要配合管道符号“|”使用。stripMargin()会去掉先导管道符“|”前所有的空白或控制字符。如果出现在其他地方,而不是每行的开始,就会保留管道符。可以看一下下面的代码:

    var info =
      """
         这里是robin的信息:
              |robin的姓名:robin zhang;
              
    |robin的年龄:29, or "nicai";
              robin的个人主页:zhyea.com
      """
    
    println(info.stripMargin)

    下面是执行结果:

    image

    如果出于某种原因,管道符号“|”有特殊的用途,可以用stripMargin的重载方法来选择其他字符作为边缘字符。

    ######

  • 相关阅读:
    Java实现 LeetCode 189 旋转数组
    Java实现 蓝桥杯 算式最大值
    Java实现 蓝桥杯 算式最大值
    Java实现 蓝桥杯 算式最大值
    Java实现 神犇的悲惨一生
    编译Boost 详细步骤 适用 VC6 VS2003 VS2005 VS2008 VS2010
    boost:asio编译
    VS2008下编译BOOST 1.39的ASIO库
    Boost下载安装编译配置使用指南
    Boost下载安装编译配置使用指南(含Windows和Linux
  • 原文地址:https://www.cnblogs.com/amunote/p/5562134.html
Copyright © 2020-2023  润新知