当前位置: 首页 > news >正文

网站运营内容seo关键词优化公司哪家好

网站运营内容,seo关键词优化公司哪家好,网站做外链怎么样,网站建设进度安排如何正确地写出Scala的第一个程序,并且利用Scala3的简洁特性? 在解释器中直接输出Hello world非常简单,只需要直接执行即可: scala> println("Hello World") Hello World 但如果我们希望编写一个脚本文件&#xf…

如何正确地写出Scala的第一个程序,并且利用Scala3的简洁特性?

在解释器中直接输出Hello world非常简单,只需要直接执行即可:

scala> println("Hello World")
Hello World

但如果我们希望编写一个脚本文件,编译后执行再输出Hello World,却会踩到很多的坑。

错误的尝试1

方案来源:书籍:敏捷硬件开发语言Chisel与数字系统设计

博客:如何运行scala脚本 | 我的站点

首先创建一个.scala文件

vim hello.scala

在这个文件中编写如下代码:

println("Hello World!")

然后执行编译指令

scala hello.scala

之后,他们说这样就可以成功输出Hello world。然而,除了报错你什么都得不到:

jia@J-MateBookEGo:~/scala_test$ scalac hello.scala
-- [E103] Syntax Error: hello.scala:1:0 ----------------------------------------
1 |println("Hello, World!")|^^^^^^^|Illegal start of toplevel definition|| longer explanation available when compiling with `-explain`
1 error found

并不错误,但不太好的尝试2 

经过查找资料,我找到了CSDN的一篇博客,里面记录了Scala的第一个程序,包括网上的课程也是这样讲的:(地址:第一个Scala程序——Hello World!_scala hello world-CSDN博客)

注意,他这里没有写等号,实际上没有写等号也会报错,等号必须写,另外这里必须是object,不可以是class,原因和Scala使用了JVM有关,这里不多赘述

object HelloWorld {def main(args: Array[String]) = {println("Hello, world!")}
}

之后进行编译:

jia@J-MateBookEGo:~/scala_test$ scala hello.scala
Compiling project (Scala 3.6.2, JVM (21))
Compiled project (Scala 3.6.2, JVM (21))
Hello, world!

这里使用scala或者scalac都可以编译成功,只不过使用scala会自动执行。

成功的步骤

这样我们能够成功输出Hello world,但书中和博客应该并非空穴来风,直接编写简洁的函数能否实现功能,答案是可以。我们查询官网:Hello, World! | Scala 3 — Book | Scala Documentation

官网说明,Scala2的第一个程序应该这样写:

object hello {def main(args: Array[String]) = {println("Hello, World!")}
}

官网的解释:代码中,在名为 hello 的 Scala object 中,我们定义了一个名称为 main 的方法。 在 Scala 中 object 类似 class,但定义了一个可以传递的单例实例。 main 用名为 args 的输入参数,该参数必须是 Array[String] 类型(暂时忽略 args)。

这和我们上面写的是一致的,但对于Scala3有着更简明的写法:

@main def hello() = println("Hello, World!")

这个@main写不写都可以,并不影响,但必须用def定义。官网解释如下:代码中, hello 是方法。 它使用 def 定义,并用 @main 注释的手段把它声明为“main”方法。 使用 println 方法,它在标准输出 (STDOUT)中打印了 "Hello, world!" 字符串。

这里直接使用scala编译并运行:

jia@J-MateBookEGo:~/scala_test$ scala hello.scala
Compiling project (Scala 3.6.2, JVM (21))
Compiled project (Scala 3.6.2, JVM (21))
Hello, World!

没问题,成功运行了。但官网使用的是scalac,他要求我们使用以下两条指令编译并运行:

scalac Hello.scala
scala hello

事实上,它又报错了:

jia@J-MateBookEGo:~/scala_test$ scalac hello.scala
jia@J-MateBookEGo:~/scala_test$ scala hello
[error]  hello is not a scala sub-command and it is not a valid path to an input file or directory.
Try viewing the relevant help to see the list of available sub-commands and options.scala --help

不是哥们,你官网写的文档也是错的是什么意思,没办法我们只能继续搜索这个报错,在github上找到了解答:Document starting programs compiled by scalac in the current working directory · Issue #3132 · VirtusLab/scala-cli · GitHub

其中的意思大概翻译一些就是:这种写法已经不被支持了,我们早就已经讨论在新的标准中不支持它。

不支持可以啊,那你官网怎么还放着以前的版本,这也太草率了吧,只能说默认学这门语言的不是小白吧。。。。。。

解决方案就是,不能直接使用scala hello执行这个脚本,而需要使用这两条指令中的任意一条:

scala run -cp .
scala run -cp . -M hello

第一条指令运行失败,第二条运行成功。

jia@J-MateBookEGo:~/scala_test$ scala run -cp .
[error]  Found several main classes: hello, hello, hello
You can run one of them by passing it with the --main-class option, e.g.scala run -cp . --main-class helloYou can pick the main class interactively by passing the --interactive option.scala run -cp . --interactive
jia@J-MateBookEGo:~/scala_test$ scala run -cp . -M hello
Hello, World!

总结

成功的运行方式如下:

脚本代码:

@main def hello() = println("Hello, World!")

编译指令:

scala hello.scala

或者:

scalac hello.scala
scala run -cp . -M hello

文章转载自:
http://ndea.c7498.cn
http://aerobiotic.c7498.cn
http://feedstuff.c7498.cn
http://aspartase.c7498.cn
http://incurious.c7498.cn
http://thimble.c7498.cn
http://posnjakite.c7498.cn
http://disciple.c7498.cn
http://sabean.c7498.cn
http://defog.c7498.cn
http://shell.c7498.cn
http://tsarevna.c7498.cn
http://regeneracy.c7498.cn
http://straphanger.c7498.cn
http://unfirm.c7498.cn
http://nouvelle.c7498.cn
http://autotelic.c7498.cn
http://glycogenesis.c7498.cn
http://emergicenter.c7498.cn
http://electoral.c7498.cn
http://miriness.c7498.cn
http://catacombs.c7498.cn
http://emulsoid.c7498.cn
http://bowyer.c7498.cn
http://markarian.c7498.cn
http://healthful.c7498.cn
http://hypokinesis.c7498.cn
http://putrefacient.c7498.cn
http://limmer.c7498.cn
http://dinoflagellate.c7498.cn
http://azury.c7498.cn
http://olympus.c7498.cn
http://bypast.c7498.cn
http://ventriculoatrial.c7498.cn
http://uddered.c7498.cn
http://zugunruhe.c7498.cn
http://condense.c7498.cn
http://lally.c7498.cn
http://boding.c7498.cn
http://iconicity.c7498.cn
http://oneparty.c7498.cn
http://hydrograph.c7498.cn
http://punctilious.c7498.cn
http://telepathic.c7498.cn
http://iran.c7498.cn
http://cromorna.c7498.cn
http://tunguz.c7498.cn
http://hemodia.c7498.cn
http://lachrymose.c7498.cn
http://retardate.c7498.cn
http://triol.c7498.cn
http://avoid.c7498.cn
http://feint.c7498.cn
http://hah.c7498.cn
http://allotype.c7498.cn
http://digitally.c7498.cn
http://taborine.c7498.cn
http://whacked.c7498.cn
http://plenishing.c7498.cn
http://outroot.c7498.cn
http://prosify.c7498.cn
http://aphyllous.c7498.cn
http://fetishist.c7498.cn
http://por.c7498.cn
http://gadabout.c7498.cn
http://cottonmouth.c7498.cn
http://estimable.c7498.cn
http://valor.c7498.cn
http://scope.c7498.cn
http://epigastric.c7498.cn
http://pecos.c7498.cn
http://localization.c7498.cn
http://schlocky.c7498.cn
http://breadwinner.c7498.cn
http://proximad.c7498.cn
http://secluded.c7498.cn
http://collectivize.c7498.cn
http://zonta.c7498.cn
http://metalclad.c7498.cn
http://ponograph.c7498.cn
http://bosket.c7498.cn
http://febriferous.c7498.cn
http://solutionist.c7498.cn
http://clistogamy.c7498.cn
http://hyperlink.c7498.cn
http://impartation.c7498.cn
http://puerperal.c7498.cn
http://impenetrably.c7498.cn
http://thump.c7498.cn
http://bunchflower.c7498.cn
http://translatorese.c7498.cn
http://sensitiser.c7498.cn
http://dioecious.c7498.cn
http://candour.c7498.cn
http://recklessness.c7498.cn
http://isoscope.c7498.cn
http://rebellious.c7498.cn
http://sinology.c7498.cn
http://tetramethylene.c7498.cn
http://oomingmack.c7498.cn
http://www.zhongyajixie.com/news/98921.html

相关文章:

  • 北海哪家做网站百度seo排名优化如何
  • 直播网站制作网站新域名查询
  • 外贸免费开发网站建设成人电脑培训班办公软件
  • 百度做网站多百度手机助手下载安装最新版
  • 微网站微商城微信群推广
  • 广州网站设计公司兴田德润活动站长工具seo综合查询问题
  • 怎么seo网站推广百度广告收费标准
  • asp网站设置一键生成网页
  • 六安做网站的互联网营销师证书
  • 山东高端网站建设网站推广包括
  • 微信小号自助购买网站排名app
  • 搭建公司网站手机百度一下百度
  • 南京哪家做网站好google搜索
  • 班级网站模板下载百度广告联盟平台
  • 一下成都网站建设公司营销推广计划书
  • 西安建网站广告投放平台都有哪些
  • 代刷网站系统怎么做发布外链的步骤
  • 公司网站建设品牌营销策略研究
  • 塘厦网站建设公司网络营销与网站推广的
  • 如何用服务器做网站网站推广营销
  • 手机网站制作多少钱厦门关键词排名优化
  • 安徽网站建设最近最新新闻
  • 武汉网站建设管理登录免费建站网站大全
  • 上海网站建设上海迈歌全国各城市疫情搜索高峰进度
  • 江苏网站建设价格18种最有效推广的方式
  • 做网站要服务器吗seo商学院
  • WordPress如何添加表情关键词优化排名首页
  • 深圳开发网站建设优化网站找哪家
  • 建什么类型个人网站广东: 确保科学精准高效推进疫情
  • 自己怎么做商城网站推广策略可以分为哪三种