Operators<\/h2> \n \n Thread.`yield`()<\/code> \u53cd\u5f15\u53f7\u9664\u4e86\u7528\u4e8e\u547d\u540d\u6807\u8bc6\u7b26\uff0c\u8fd8\u53ef\u4ee5\u5728\u8c03\u7528\u65b9\u6cd5\u65f6\u907f\u514d\u51b2\u7a81(yield<\/code> \u4e3a Scala \u5173\u952e\u5b57\uff0c\u4f46\u4e5f\u662f Thread<\/code> \u7684\u65b9\u6cd5)<\/li> \n - \u4e2d\u7f00\u8fd0\u7b97\u7b26(infix operators)\uff0c\u5b9e\u9645\u662f\u5e26\u4e24\u4e2a\u53c2\u6570\u7684\u65b9\u6cd5\uff0c\u5b9a\u4e49\u65f6\u8ddf\u666e\u901a\u65b9\u6cd5\u4e00\u6837\uff1b
a to b<\/code> \u5b9e\u9645\u662f a.to(b)<\/code><\/li> \n - \u4e00\u5143\u8fd0\u7b97\u7b26(unary operators) \n
\n +, -, !, ~<\/code>\u56db\u4e2a\u53ef\u5f53\u505a\u524d\u7f00\u8fd0\u7b97\u7b26\u4f7f\u7528\uff0c-a<\/code> \u5b9e\u9645\u662f a.unary_<\/code><\/li> \n - \u5982\u679c\u53ef\u653e\u5728\u53c2\u6570\u540e\uff0c\u5219\u662f\u540e\u7f00\u8fd0\u7b97\u7b26
a identifier<\/code><\/li> \n <\/ul><\/li> \n - \u8d4b\u503c\u64cd\u4f5c\u7b26(assignment operators)\uff0c
a operator= b<\/code> \u7b49\u4ef7\u4e8e a = a operator b<\/code><\/li> \n - \u4f18\u5148\u6027 \n
\n * \/ %<\/code> > + -<\/code> > :<\/code> > < ><\/code> > ! =<\/code> > &<\/code> > ^<\/code> > |<\/code> > \u975e\u64cd\u4f5c\u7b26 > \u8d4b\u503c\u64cd\u4f5c\u7b26<\/li> \n - \u4e2d\u7f00\u8fd0\u7b97\u7b26\u4f18\u5148\u4e8e\u540e\u7f00\u8fd0\u7b97\u7b26<\/li> \n <\/ul><\/li> \n
- \u7ed3\u5408\u6027 \n
\n - \u6240\u6709\u64cd\u4f5c\u7b26\u90fd\u662f\u5de6\u7ed3\u5408\u7684\uff0c\u9664\u4e86\uff1a<\/strong> \n
\n - \u4ee5
:<\/code> \u7ed3\u5c3e\u7684\u64cd\u4f5c\u7b26 \n \n 1 :: 2 :: Nil<\/code> \u5b9e\u9645\u662f 1 :: (2 :: Nil)<\/code><\/li> \n - \u53f3\u7ed3\u5408\u7684\u4e8c\u5143\u64cd\u4f5c\u7b26\u5b9e\u9645\u662f\u7b2c\u4e8c\u4e2a\u64cd\u4f5c\u5bf9\u8c61\u7684\u65b9\u6cd5\uff0c\u5982
2 :: Nil<\/code> \u662f Nil.::(2)<\/code><\/li> \n <\/ul><\/li> \n - \u8d4b\u503c\u64cd\u4f5c\u7b26<\/li> \n <\/ul><\/li> \n <\/ul><\/li> \n
- \u5982\u679c
f(a,b,c)<\/code> \u8c03\u7528\u65f6 f<\/code> \u4e0d\u662f\u51fd\u6570\u6216\u65b9\u6cd5\uff0c\u5219\u7b49\u4ef7\u4e8e f.apply(a,b,c)<\/code> \n \n f(a,b,c) = value<\/code> \u5219\u7b49\u4ef7\u4e8e f.update(a,b,c, value)<\/code>\uff1b\u5982\u9488\u5bf9 HashMap<\/code> \u7684\u53d6\u503c\u548c\u8d4b\u503c<\/li> \n - \u5e38\u7528\u6765\u6784\u5efa\u5bf9\u8c61\u65f6\uff0c\u7701\u7565
new<\/code> \u5173\u952e\u5b57<\/li> \n <\/ul><\/li> \n - \u63d0\u53d6\u5668 extractors \n
\n - \u5305\u542b
unapply<\/code> \u65b9\u6cd5\u7684\u4f34\u751f\u5bf9\u8c61\uff0c\u4f34\u751f\u5bf9\u8c61\u53ef\u4ee5\u5b9a\u4e49\u6210\u7ed9\u4efb\u610f\u7c7b\u578b\u505a\u4e3a\u63d0\u53d6\u5668(\u5982\uff0c\u4e3a String \u81ea\u5b9a\u4e49\u4e00\u4e2a\u63d0\u53d6\u5668 Name)<\/li> \n - \u5728\u53d8\u91cf\u5b9a\u4e49\u65f6\u4f7f\u7528<\/li> \n
- \u5728\u6a21\u5f0f\u5339\u914d\u4e2d\u4f7f\u7528 \n
\n case class<\/code> \u81ea\u52a8\u9644\u5e26 apply<\/code> \u548c unapply<\/code> \u65b9\u6cd5\uff0c\u5728\u6a21\u5f0f\u5339\u914d\u4e2d\u4f1a\u81ea\u52a8\u8c03\u7528<\/li> \n <\/ul><\/li> \n - \u63d0\u53d6\u4efb\u610f\u5e8f\u5217\u503c\uff0c\u9700\u8981\u5305\u542b
unapplySeq<\/code> \u65b9\u6cd5\uff0c\u8fd4\u56de Option[Seq[Type]]<\/code> \n \n - ~
\u6ce8\u610f<\/strong>\uff0cunapply<\/code> \u548c unapplySeq<\/code> \u7684\u53c2\u6570\u7c7b\u578b\u4e0d\u8981\u5b9a\u4e49\u6210\u4e00\u6837\u7684<\/del>~<\/li> \n <\/ul><\/li> \n <\/ul><\/li> \n - \u52a8\u6001\u8c03\u7528 dynamic invocation \n
\n - \u5b9a\u4e49\u52a8\u6001\u7c7b\u578b \n
\n import scala.language.dynamics<\/code><\/li> \n - \u7ee7\u627f
scala.Dynamic<\/code><\/li> \n <\/ul><\/li> \n - Scala \u5904\u7406\u8fc7\u7a0b \n
\n foo.method("blah")<\/code> ~> foo.applyDynamic("method")("blah")<\/code><\/li> \n foo.method(x = 1, 2)<\/code> ~> foo.applyDynamicNamed("method")(("x", 1), ("", 2))<\/code><\/li> \n foo.field<\/code> ~> foo.selectDynamic("field")<\/code><\/li> \n foo.varia = 10<\/code> ~> foo.updateDynamic("varia")(10)<\/code><\/li> \n foo.arr(10) = 13<\/code> ~> foo.selectDynamic("arr").update(10, 13)<\/code><\/li> \n foo.arr(10)<\/code> ~> foo.applyDynamic("arr")(10)<\/code><\/li> \n <\/ul><\/li> \n <\/ul><\/li> \n <\/ul> \n Files & RegExp<\/h2> \n \n - \u8bfb\u53d6\u6240\u6709\u884c
Source.fromFile({name\/java<\/a>.io.File}).getLines.toArray<\/code>\uff0c\u5173\u95ed\u8d44\u6e90 source.close<\/code><\/li> \n - \u8bfb\u53d6\u5b57\u7b26\uff0c\u76f4\u63a5\u8fed\u4ee3 source<\/li> \n
- \u8bfb\u53d6\u6807\u51c6\u8f93\u5165
scala.io.StdIn<\/code><\/li> \n - \u8bfb\u53d6 URL
Source.fromURL(url, "UTF-8")<\/code><\/li> \n - \u8bfb\u53d6\u5b57\u7b26\u4e32
Source.fromString("Hello ww")<\/code><\/li> \n - \u8bfb\u53d6\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u4f7f\u7528 Java \u7684\u5e93<\/li> \n
- \u5199\u6587\u4ef6\u4f7f\u7528 Java \u7684\u5e93<\/li> \n
- \u5e8f\u5217\u5316
@SerialVerionUID(42L) class Name extends Serializable<\/code> \n \n Serializable<\/code> \u4e3a Scala \u4e2d\u7684 trait<\/code><\/li> \n - \u4e5f\u53ef\u7701\u7565\u6ce8\u89e3\uff0c\u4f7f\u7528\u9ed8\u8ba4\u7684 UID<\/li> \n
- Scala \u7684\u96c6\u5408\u90fd\u662f\u5e8f\u5217\u5316\u7684<\/li> \n <\/ul><\/li> \n
- \u8fdb\u7a0b\u63a7\u5236 \n
\n - \u5de5\u5177\u5305
scala.sys.process<\/code>\uff0c\u5305\u542b\u9690\u5f0f\u8f6c\u6362\u5c06 String<\/code> \u8f6c\u4e3a ProcessBuilder<\/code><\/li> \n - \u6267\u884c shell \n
\n "ls -l".!<\/code>\uff0c !<\/code> \u4f1a\u6267\u884c ProcessBuilder<\/code> \u5e76\u963b\u585e\u76f4\u5230\u547d\u4ee4\u9000\u51fa\u5e76\u8fd4\u56de\u9000\u51fa\u7801<\/strong><\/li> \n "ls -l".!!<\/code> \u4f1a\u5c06\u8f93\u51fa\u4f5c\u4e3a\u5b57\u7b26\u4e32<\/strong>\u8fd4\u56de<\/li> \n #|<\/code> \u7ba1\u9053\uff1a ("ls -l" #| "grep scala").!<\/code><\/li> \n #><\/code> \u91cd\u5b9a\u5411\u8f93\u51fa\uff1a ("ls -l" #> new File("out.txt")).!<\/code><\/li> \n #>><\/code> \u8ffd\u52a0\uff1a("ls -l" #>> new File("out.txt")).!<\/code><\/li> \n #<<\/code> \u91cd\u5b9a\u5411\u8f93\u5165\uff1a \n \n ("grep scala" #< new File("out.txt")).!<\/code><\/li> \n ("grep html" #< new URL("http:\/\/baidu.com")).!<\/code><\/li> \n <\/ul><\/li> \n - \u8bbe\u7f6e\u6267\u884c\u76ee\u5f55\/\u73af\u5883\u53d8\u91cf
Process("ls -l", new File("..\/"), ("LANG", "en_US")).!<\/code>\uff0c\u73af\u5883\u53d8\u91cf\u4e3a (k, v)<\/code> \u5e8f\u5217<\/li> \n <\/ul><\/li> \n - \u5728 Java \u9879\u76ee\u4e2d\u6267\u884c Scala \u811a\u672c
ScriptEngine engine = new ScriptEngineManager().getScriptEngineByName("scala")<\/code><\/li> \n <\/ul><\/li> \n - \u6b63\u5219\u8868\u8fbe\u5f0f
* \u5de5\u5177\u7c7b scala.util.matching.Regex<\/code>
* \u6784\u9020\u6b63\u5219\u5bf9\u8c61 val pattern = "[0-9]+".r<\/code>
* \u5b58\u5728\u8f6c\u4e49\u3001\u5f15\u53f7\u7b49\u60c5\u51b5\u65f6\u4f7f\u7528 """<\/code>\uff0cval pattern = """\\s+[0-9]+\\s+""".r<\/code>
* \u6355\u83b7\u7ec4\u4f7f\u7528\u62ec\u53f7\u8868\u793a val patternName = "([0-9]+) ([a-z]+)".r<\/code>
* \u53ef\u5b9a\u4e49\u6b63\u5219\u53d8\u91cf\u4f5c\u4e3a\u63d0\u53d6\u5668 val pattern(num, item) = "123 abc"<\/code> (patternName<\/code> \u4e0e\u5b9a\u4e49\u7684\u6b63\u5219\u540d\u4e00\u81f4)
* \u4e5f\u53ef\u5728 for \u5faa\u73af\u4e2d\u4f7f\u7528\u6b63\u5219\u53d8\u91cf\u76f4\u63a5\u63d0\u53d6\u6355\u83b7\u7ec4<\/li> \n <\/ul> \n<\/div>","orderid":"0","title":"Scala Operators, File & RegExp","smalltitle":"","mid":"0","fname":"Scala","special_id":"0","bak_id":"0","info":"0","hits":"249","pages":"1","comments":"0","posttime":"2019-10-09 20:01:15","list":"1570622475","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"Scala<\/A> Operators<\/A> File<\/A> RegExp<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"14.17.22.32","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"Scala Operators, File & RegExp","lastview":"1714840045","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}
Thread.`yield`()<\/code> \u53cd\u5f15\u53f7\u9664\u4e86\u7528\u4e8e\u547d\u540d\u6807\u8bc6\u7b26\uff0c\u8fd8\u53ef\u4ee5\u5728\u8c03\u7528\u65b9\u6cd5\u65f6\u907f\u514d\u51b2\u7a81(yield<\/code> \u4e3a Scala \u5173\u952e\u5b57\uff0c\u4f46\u4e5f\u662f Thread<\/code> \u7684\u65b9\u6cd5)<\/li> \n - \u4e2d\u7f00\u8fd0\u7b97\u7b26(infix operators)\uff0c\u5b9e\u9645\u662f\u5e26\u4e24\u4e2a\u53c2\u6570\u7684\u65b9\u6cd5\uff0c\u5b9a\u4e49\u65f6\u8ddf\u666e\u901a\u65b9\u6cd5\u4e00\u6837\uff1b
a to b<\/code> \u5b9e\u9645\u662f a.to(b)<\/code><\/li> \n - \u4e00\u5143\u8fd0\u7b97\u7b26(unary operators) \n
\n +, -, !, ~<\/code>\u56db\u4e2a\u53ef\u5f53\u505a\u524d\u7f00\u8fd0\u7b97\u7b26\u4f7f\u7528\uff0c-a<\/code> \u5b9e\u9645\u662f a.unary_<\/code><\/li> \n - \u5982\u679c\u53ef\u653e\u5728\u53c2\u6570\u540e\uff0c\u5219\u662f\u540e\u7f00\u8fd0\u7b97\u7b26
a identifier<\/code><\/li> \n <\/ul><\/li> \n - \u8d4b\u503c\u64cd\u4f5c\u7b26(assignment operators)\uff0c
a operator= b<\/code> \u7b49\u4ef7\u4e8e a = a operator b<\/code><\/li> \n - \u4f18\u5148\u6027 \n
\n * \/ %<\/code> > + -<\/code> > :<\/code> > < ><\/code> > ! =<\/code> > &<\/code> > ^<\/code> > |<\/code> > \u975e\u64cd\u4f5c\u7b26 > \u8d4b\u503c\u64cd\u4f5c\u7b26<\/li> \n - \u4e2d\u7f00\u8fd0\u7b97\u7b26\u4f18\u5148\u4e8e\u540e\u7f00\u8fd0\u7b97\u7b26<\/li> \n <\/ul><\/li> \n
- \u7ed3\u5408\u6027 \n
\n - \u6240\u6709\u64cd\u4f5c\u7b26\u90fd\u662f\u5de6\u7ed3\u5408\u7684\uff0c\u9664\u4e86\uff1a<\/strong> \n
\n - \u4ee5
:<\/code> \u7ed3\u5c3e\u7684\u64cd\u4f5c\u7b26 \n \n 1 :: 2 :: Nil<\/code> \u5b9e\u9645\u662f 1 :: (2 :: Nil)<\/code><\/li> \n - \u53f3\u7ed3\u5408\u7684\u4e8c\u5143\u64cd\u4f5c\u7b26\u5b9e\u9645\u662f\u7b2c\u4e8c\u4e2a\u64cd\u4f5c\u5bf9\u8c61\u7684\u65b9\u6cd5\uff0c\u5982
2 :: Nil<\/code> \u662f Nil.::(2)<\/code><\/li> \n <\/ul><\/li> \n - \u8d4b\u503c\u64cd\u4f5c\u7b26<\/li> \n <\/ul><\/li> \n <\/ul><\/li> \n
- \u5982\u679c
f(a,b,c)<\/code> \u8c03\u7528\u65f6 f<\/code> \u4e0d\u662f\u51fd\u6570\u6216\u65b9\u6cd5\uff0c\u5219\u7b49\u4ef7\u4e8e f.apply(a,b,c)<\/code> \n \n f(a,b,c) = value<\/code> \u5219\u7b49\u4ef7\u4e8e f.update(a,b,c, value)<\/code>\uff1b\u5982\u9488\u5bf9 HashMap<\/code> \u7684\u53d6\u503c\u548c\u8d4b\u503c<\/li> \n - \u5e38\u7528\u6765\u6784\u5efa\u5bf9\u8c61\u65f6\uff0c\u7701\u7565
new<\/code> \u5173\u952e\u5b57<\/li> \n <\/ul><\/li> \n - \u63d0\u53d6\u5668 extractors \n
\n - \u5305\u542b
unapply<\/code> \u65b9\u6cd5\u7684\u4f34\u751f\u5bf9\u8c61\uff0c\u4f34\u751f\u5bf9\u8c61\u53ef\u4ee5\u5b9a\u4e49\u6210\u7ed9\u4efb\u610f\u7c7b\u578b\u505a\u4e3a\u63d0\u53d6\u5668(\u5982\uff0c\u4e3a String \u81ea\u5b9a\u4e49\u4e00\u4e2a\u63d0\u53d6\u5668 Name)<\/li> \n - \u5728\u53d8\u91cf\u5b9a\u4e49\u65f6\u4f7f\u7528<\/li> \n
- \u5728\u6a21\u5f0f\u5339\u914d\u4e2d\u4f7f\u7528 \n
\n case class<\/code> \u81ea\u52a8\u9644\u5e26 apply<\/code> \u548c unapply<\/code> \u65b9\u6cd5\uff0c\u5728\u6a21\u5f0f\u5339\u914d\u4e2d\u4f1a\u81ea\u52a8\u8c03\u7528<\/li> \n <\/ul><\/li> \n - \u63d0\u53d6\u4efb\u610f\u5e8f\u5217\u503c\uff0c\u9700\u8981\u5305\u542b
unapplySeq<\/code> \u65b9\u6cd5\uff0c\u8fd4\u56de Option[Seq[Type]]<\/code> \n \n - ~
\u6ce8\u610f<\/strong>\uff0cunapply<\/code> \u548c unapplySeq<\/code> \u7684\u53c2\u6570\u7c7b\u578b\u4e0d\u8981\u5b9a\u4e49\u6210\u4e00\u6837\u7684<\/del>~<\/li> \n <\/ul><\/li> \n <\/ul><\/li> \n - \u52a8\u6001\u8c03\u7528 dynamic invocation \n
\n - \u5b9a\u4e49\u52a8\u6001\u7c7b\u578b \n
\n import scala.language.dynamics<\/code><\/li> \n - \u7ee7\u627f
scala.Dynamic<\/code><\/li> \n <\/ul><\/li> \n - Scala \u5904\u7406\u8fc7\u7a0b \n
\n foo.method("blah")<\/code> ~> foo.applyDynamic("method")("blah")<\/code><\/li> \n foo.method(x = 1, 2)<\/code> ~> foo.applyDynamicNamed("method")(("x", 1), ("", 2))<\/code><\/li> \n foo.field<\/code> ~> foo.selectDynamic("field")<\/code><\/li> \n foo.varia = 10<\/code> ~> foo.updateDynamic("varia")(10)<\/code><\/li> \n foo.arr(10) = 13<\/code> ~> foo.selectDynamic("arr").update(10, 13)<\/code><\/li> \n foo.arr(10)<\/code> ~> foo.applyDynamic("arr")(10)<\/code><\/li> \n <\/ul><\/li> \n <\/ul><\/li> \n <\/ul> \n Files & RegExp<\/h2> \n \n - \u8bfb\u53d6\u6240\u6709\u884c
Source.fromFile({name\/java<\/a>.io.File}).getLines.toArray<\/code>\uff0c\u5173\u95ed\u8d44\u6e90 source.close<\/code><\/li> \n - \u8bfb\u53d6\u5b57\u7b26\uff0c\u76f4\u63a5\u8fed\u4ee3 source<\/li> \n
- \u8bfb\u53d6\u6807\u51c6\u8f93\u5165
scala.io.StdIn<\/code><\/li> \n - \u8bfb\u53d6 URL
Source.fromURL(url, "UTF-8")<\/code><\/li> \n - \u8bfb\u53d6\u5b57\u7b26\u4e32
Source.fromString("Hello ww")<\/code><\/li> \n - \u8bfb\u53d6\u4e8c\u8fdb\u5236\u6587\u4ef6\uff0c\u4f7f\u7528 Java \u7684\u5e93<\/li> \n
- \u5199\u6587\u4ef6\u4f7f\u7528 Java \u7684\u5e93<\/li> \n
- \u5e8f\u5217\u5316
@SerialVerionUID(42L) class Name extends Serializable<\/code> \n \n Serializable<\/code> \u4e3a Scala \u4e2d\u7684 trait<\/code><\/li> \n - \u4e5f\u53ef\u7701\u7565\u6ce8\u89e3\uff0c\u4f7f\u7528\u9ed8\u8ba4\u7684 UID<\/li> \n
- Scala \u7684\u96c6\u5408\u90fd\u662f\u5e8f\u5217\u5316\u7684<\/li> \n <\/ul><\/li> \n
- \u8fdb\u7a0b\u63a7\u5236 \n
\n - \u5de5\u5177\u5305
scala.sys.process<\/code>\uff0c\u5305\u542b\u9690\u5f0f\u8f6c\u6362\u5c06 String<\/code> \u8f6c\u4e3a ProcessBuilder<\/code><\/li> \n - \u6267\u884c shell \n
\n "ls -l".!<\/code>\uff0c !<\/code> \u4f1a\u6267\u884c ProcessBuilder<\/code> \u5e76\u963b\u585e\u76f4\u5230\u547d\u4ee4\u9000\u51fa\u5e76\u8fd4\u56de\u9000\u51fa\u7801<\/strong><\/li> \n "ls -l".!!<\/code> \u4f1a\u5c06\u8f93\u51fa\u4f5c\u4e3a\u5b57\u7b26\u4e32<\/strong>\u8fd4\u56de<\/li> \n #|<\/code> \u7ba1\u9053\uff1a ("ls -l" #| "grep scala").!<\/code><\/li> \n #><\/code> \u91cd\u5b9a\u5411\u8f93\u51fa\uff1a ("ls -l" #> new File("out.txt")).!<\/code><\/li> \n #>><\/code> \u8ffd\u52a0\uff1a("ls -l" #>> new File("out.txt")).!<\/code><\/li> \n #<<\/code> \u91cd\u5b9a\u5411\u8f93\u5165\uff1a \n \n ("grep scala" #< new File("out.txt")).!<\/code><\/li> \n ("grep html" #< new URL("http:\/\/baidu.com")).!<\/code><\/li> \n <\/ul><\/li> \n - \u8bbe\u7f6e\u6267\u884c\u76ee\u5f55\/\u73af\u5883\u53d8\u91cf
Process("ls -l", new File("..\/"), ("LANG", "en_US")).!<\/code>\uff0c\u73af\u5883\u53d8\u91cf\u4e3a (k, v)<\/code> \u5e8f\u5217<\/li> \n <\/ul><\/li> \n - \u5728 Java \u9879\u76ee\u4e2d\u6267\u884c Scala \u811a\u672c
ScriptEngine engine = new ScriptEngineManager().getScriptEngineByName("scala")<\/code><\/li> \n <\/ul><\/li> \n - \u6b63\u5219\u8868\u8fbe\u5f0f
* \u5de5\u5177\u7c7b scala.util.matching.Regex<\/code>
* \u6784\u9020\u6b63\u5219\u5bf9\u8c61 val pattern = "[0-9]+".r<\/code>
* \u5b58\u5728\u8f6c\u4e49\u3001\u5f15\u53f7\u7b49\u60c5\u51b5\u65f6\u4f7f\u7528 """<\/code>\uff0cval pattern = """\\s+[0-9]+\\s+""".r<\/code>
* \u6355\u83b7\u7ec4\u4f7f\u7528\u62ec\u53f7\u8868\u793a val patternName = "([0-9]+) ([a-z]+)".r<\/code>
* \u53ef\u5b9a\u4e49\u6b63\u5219\u53d8\u91cf\u4f5c\u4e3a\u63d0\u53d6\u5668 val pattern(num, item) = "123 abc"<\/code> (patternName<\/code> \u4e0e\u5b9a\u4e49\u7684\u6b63\u5219\u540d\u4e00\u81f4)
* \u4e5f\u53ef\u5728 for \u5faa\u73af\u4e2d\u4f7f\u7528\u6b63\u5219\u53d8\u91cf\u76f4\u63a5\u63d0\u53d6\u6355\u83b7\u7ec4<\/li> \n <\/ul> \n<\/div>","orderid":"0","title":"Scala Operators, File & RegExp","smalltitle":"","mid":"0","fname":"Scala","special_id":"0","bak_id":"0","info":"0","hits":"249","pages":"1","comments":"0","posttime":"2019-10-09 20:01:15","list":"1570622475","username":"admin","author":"","copyfrom":"","copyfromurl":"","titlecolor":"","fonttype":"0","titleicon":"0","picurl":"https:\/\/www.cppentry.com\/upload_files\/","ispic":"0","yz":"1","yzer":"","yztime":"0","levels":"0","levelstime":"0","keywords":"Scala<\/A> Operators<\/A> File<\/A> RegExp<\/A>","jumpurl":"","iframeurl":"","style":"","template":"a:3:{s:4:\"head\";s:0:\"\";s:4:\"foot\";s:0:\"\";s:8:\"bencandy\";s:0:\"\";}","target":"0","ip":"14.17.22.32","lastfid":"0","money":"0","buyuser":"","passwd":"","allowdown":"","allowview":"","editer":"","edittime":"0","begintime":"0","endtime":"0","description":"Scala Operators, File & RegExp","lastview":"1714840045","digg_num":"0","digg_time":"0","forbidcomment":"0","ifvote":"0","heart":"","htmlname":"","city_id":"0"},"page":"1"}