楼主: ReneeBK
1338 12

[Lecture Notes]Programming Languages: Scala,Columbia University [推广有奖]

  • 1关注
  • 62粉丝

VIP

学术权威

14%

还不是VIP/贵宾

-

TA的文库  其他...

R资源总汇

Panel Data Analysis

Experimental Design

威望
1
论坛币
49407 个
通用积分
51.8704
学术水平
370 点
热心指数
273 点
信用等级
335 点
经验
57815 点
帖子
4006
精华
21
在线时间
582 小时
注册时间
2005-5-8
最后登录
2023-11-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Lectures

Syllabus is tentative and subject to change. Homework assignments are [size=13.3333330154419px]on the homework page.


DateTopic
Wed 10/22/2014Introduction. Running Scala. Basic types. Basic control structures. Functions.
Wed 10/29/2014Classes and objects. Inheritance. Applications.Packages and imports.
Wed 11/05/2014Higher-order functions (Function literals. Closures. Patially applied functions. Evaluation order.
Wed 11/12/2014Pattern Matching. Case Classes.
Wed 11/19/2014Error Handling. Traits. Type variance and bounds.
Wed 11/26/2014no class.
Wed 12/03/2014Concurrency

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Programming University Languages Universit Columbia University Running control objects change

沙发
ReneeBK 发表于 2016-4-9 07:32:39 |只看作者 |坛友微信交流群

使用道具

藤椅
ReneeBK 发表于 2016-4-9 07:33:07 |只看作者 |坛友微信交流群
Books[size=13.3333330154419px]There is no official textbook. Here are some recommendations:
  • Martin Odersky, Lex Spoon, and Bill Venners (2010): Programming in Scala, Second Edition. Artima.
        THE scala book (the "staircase" book), co-authored by Scala creator Martin Odersky, but not fully up-to-date.
  • Cay S. Horstman (2012): Scala for the Impatient. Addison-Wesley Professional.
Online Resources

使用道具

板凳
ReneeBK 发表于 2016-4-9 07:36:45 |只看作者 |坛友微信交流群
  1. scala > val month : Int = 8
  2. month : Int = 8
  3. scala > val monthString : String = month match {
  4. case 1 = > " January "
  5. case 2 = > " February "
  6. case 3 = > " March "
  7. case 4 = > " April "
  8. case 5 = > " May "
  9. case 6 = > " June "
  10. case 7 = > " July "
  11. case 8 = > " August "
  12. }
  13. monthString : String = August
复制代码

使用道具

报纸
ReneeBK 发表于 2016-4-9 07:37:32 |只看作者 |坛友微信交流群
  1. abstract class Publication
  2. class Novel ( val author : String , val title : String )
  3. extends Publication
  4. class Anthology ( val title : String )
  5. extends Publication
  6. val a = new Anthology ( " Great Poems " )
  7. val b = new Novel ( " The Castle " ," F . Kafka " )
  8. scala > val books = List (a , b )
  9. books : List [ Publication ] = List ( Anthology@2c78beb8 ,
  10. Novel@2a3ec96e )
复制代码

使用道具

地板
ReneeBK 发表于 2016-4-9 07:38:21 |只看作者 |坛友微信交流群
  1. Use the case modifier to define case classes.
  2. abstract class Publication
  3. case class Novel ( title : String , author : String ) extends
  4. Publication
  5. case class Anthology ( title : String ) extends
  6. Publication
  7. val a = Anthology ( " Great Poems " )
  8. val b = Novel ( " The Castle " , " F . Kafka " )
  9. scala > val books : List [ Publication ] = List (a , b )
  10. books : List [ Publication ] = List ( Anthology ( Great Poems ) ,
  11. Novel ( The Castle , F . Kafka ))
复制代码

使用道具

7
ReneeBK 发表于 2016-4-9 07:39:08 |只看作者 |坛友微信交流群
  1. abstract class Publication
  2. case class Novel ( title : String , author : String ) extends
  3. Publication
  4. case class Anthology ( title : String ) extends
  5. Publication
  6. val a = Anthology ( " Great Poems " )
  7. val b = Novel ( " The Castle " , " F . Kafka " )
  8. val books : List [ Publication ] = List (a , b )
  9. scala > for ( book <- books ) {
  10. val description = book match {
  11. case Anthology ( title ) = > title
  12. case Novel ( title , author ) = > title + " by " + author
  13. }
  14. println ( description )
  15. }
  16. Great Poems
  17. The Castle by F . Kafka
复制代码

使用道具

8
ReneeBK 发表于 2016-4-9 07:39:44 |只看作者 |坛友微信交流群
  1. sealed abstract class Publication
  2. case class Novel ( title : String , author : String ) extends
  3. Publication
  4. case class Anthology ( title : String ) extends
  5. Publication
复制代码

使用道具

9
ReneeBK 发表于 2016-4-9 07:40:18 |只看作者 |坛友微信交流群
  1. abstract class Publication {
  2. val title : String
  3. }
  4. case class Novel ( title : String , author : String ) extends
  5. Publication
  6. case class Anthology ( title : String ) extends
  7. Publication
  8. val a = Anthology (" Great Poems ")
  9. val b = Novel (" The Castle " , "F. Kafka ")
  10. val books : List [ Publication ] = List (a ,b)
  11. scala > for ( book <- books ) {
  12. val description = book match { // order matters !
  13. case Novel ( title , "F. Kafka ") => title + " by Kafka "
  14. case Novel ( title , author ) => title + " by " + author
  15. case other => other . title
  16. }
  17. println ( description )
  18. }
  19. Great Poems
  20. The Castle by Kafka
复制代码

使用道具

10
ReneeBK 发表于 2016-4-9 08:19:30 |只看作者 |坛友微信交流群
  1. abstract class Expr
  2. case class Var ( name : String ) extends Expr
  3. case class Number ( num : Double ) extends Expr
  4. case class UnOp ( operator : String , arg : Expr ) extends Expr
  5. case class BinOp ( operator : String ,
  6. left : Expr , right : Expr ) extends Expr
复制代码

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 07:10