当前位置:网站首页 > Scala编程 > 正文

scala编程实战 pdf_scratch2.0编程

(一) 安装Scala

把下载的scala-2.11.8.tgz文件解压缩到“/usr/local/”目录下

修改文件夹名称,并为hadoop用户赋予权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5N2cR6QX-70)(https://img2020.cnblogs.com/blog///-002685-.png)]

接着需要把scala命令添加到path环境变量中,这里我们在 ~/.bashrc 中进行设置,可以采用vim编辑器打开.bashrc文件,在.bashrc文件的最开头位置,修改path环境变量设置,把scala命令所在的目录“/usr/local/scala/bin”增加到path中


接着还需要让该环境变量生效,设置好后检验一下是否设置正确

(二) 计算级数

第一种方法:用:paste多行输入


第二种方法:
创建文件夹以及所需的文件夹结构,使用上次实验的sbt对scala应用程序进行编译打包,通过spark-submit运行程序,具体如下

(三) 模拟图形绘制

代码如下:

case class Point(var x:Double,var y:Double) extends Drawable{ 
    def shift(deltaX:Double,deltaY:Double){ 
    x+=deltaX;y+=deltaY } } trait Drawable{ 
    def draw(){ 
    println(this.toString) } } abstract class Shape(var location:Point){ 
    //location是Shape的一个可变字段 def moveTo(newLocation:Point){ 
    //默认实现,只是修改位置 location = newLocation } def zoom(scale:Double) } class Line(beginPoint:Point,var endPoint:Point) extends Shape(beginPoint) with Drawable{ 
    override def draw(){ 
    println(s"Line:(${location.x},${location.y})--(${endPoint.x},${endPoint.y})") } //按指定格式重载click override def moveTo(newLocation:Point){ 
    endPoint.shift(newLocation.x - location.x,newLocation.y -location.y) //直线移动时,先移动另外一个端点 location = newLocation //移动位置 } override def zoom(scale:Double){ 
    val midPoint = Point((endPoint.x + location.x)/2,(endPoint.y +location.y)/2) //求出中点,并按中点进行缩放 location.x = midPoint.x + scale * (location.x - midPoint.x) location.y = midPoint.y + scale * (location.y -midPoint.y) endPoint.x = midPoint.x + scale * (endPoint.x - midPoint.x) endPoint.y = midPoint.y + scale * (endPoint.y -midPoint.y) } } class Circle(center:Point,var radius:Double) extends Shape(center) with Drawable{ 
    override def draw(){ 
    //按指定格式重载click println(s"Circlecenter:(${location.x},${location.y}),R=$radius") } override def zoom(scale:Double){ 
    radius = radius*scale //对圆的缩放只用修改半径 } } object MyDraw{ 
    def main(args: Array[String]) { 
    val p=new Point(10,30) p.draw; val line1 = new Line(Point(0,0),Point(20,20)) line1.draw line1.moveTo(Point(5,5)) //移动到一个新的点 line1.draw line1.zoom(2) //放大两倍 line1.draw val cir= new Circle(Point(10,10),5) cir.draw cir.moveTo(Point(30,20)) cir.draw cir.zoom(0.5) cir.draw } } 

到此这篇scala编程实战 pdf_scratch2.0编程的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Java-Scala编程规范超精简2024-11-06 17:50:09
  • scala编程实战 pdf_人工智能语言python2024-11-06 17:50:09
  • scala matches_scratch算法2024-11-06 17:50:09
  • scala编程第4版_scala菜鸟教程2024-11-06 17:50:09
  • scala编程初级实践_scala32024-11-06 17:50:09
  • idea scala_scratch编程2024-11-06 17:50:09
  • Scala编程语言学习总结_scala编程实战 pdf2024-11-06 17:50:09
  • scratch九九乘法表_scratch游戏代码2024-11-06 17:50:09
  • scala大数据框架_scrach编程软件2024-11-06 17:50:09
  • scala编程思想_bash编程2024-11-06 17:50:09
  • 全屏图片