Chinaunix

标题: Scala 新手求助 [打印本页]

作者: sunzhiguolu    时间: 2017-05-13 14:24
标题: Scala 新手求助
论坛中没有开设 Scala 板块,只有在 Perl 中进行求助了。
代码如下:
  1. //Scala Scripts
  2. val aNums = Array(1 to 15)
  3. /** 如何输出下面这样的结果
  4. 1
  5. 2
  6. 3
  7. 4
  8. 5
  9. 6
  10. 7
  11. 8
  12. 9
  13. 10
  14. 11
  15. 12
  16. 13
  17. 14
  18. 15
  19. **/
复制代码



作者: Okelani    时间: 2017-05-13 16:43
  1. object HelloWorld {
  2.    
  3. def main(args: Array[String]) {
  4.     val ArrayofRange = Array(1 to 15)
  5.     for ( element <- ArrayofRange(0) ){
  6.         println( "Value is " + element );
  7.     }
  8.    
  9.     val RealArray = (1 to 10).toArray
  10.     RealArray.foreach { println }
  11.    
  12.     for ( x <- RealArray ) println("real = " + x)
  13.   
  14. }
  15. }
复制代码

作者: sunzhiguolu    时间: 2017-05-13 17:30
本帖最后由 sunzhiguolu 于 2017-05-13 17:39 编辑

回复 2# Okelani
谢谢大神帮忙,有一点我实在不明白。为啥您什么都很厉害啊???
另外,我如何创建一个混合类型的 Array?
  1. val aArray = Array(1 to 10, 'a' to 'e')
复制代码
这样的数组有办法吗?



作者: sunzhiguolu    时间: 2017-05-13 18:03
  1. val aNums = Array(1 to 5)
  2. val aChars = Range(1, 6)
  3. //类型之间有什么区别? 哪位大神给说下,谢谢。
复制代码

作者: Okelani    时间: 2017-05-13 19:47

  1. object HelloWorld {
  2.    def main(args: Array[String]) {
  3.        val a = Array((1 to 3), ('a' to 'c'))
  4.       
  5.        for ( RANGE <- a ) {
  6.            println("RANGE = " + RANGE)
  7.            for (elem <- RANGE) println("v = " + elem)
  8.        }
  9.       
  10.        val b = Array(1, 2, 3)
  11.        b.foreach {println}
  12.        println("Hello, world!")
  13.    }
  14. }
复制代码


Array(1 to 5)
1 elem:  1 to 5

Array(1, 2, 3, 4, 5)
5 elem

range 不是 arrayref, 概念不同, 但是可以对比
想像一下


my @Array = ([1..5]); 1 elem
my @Array = ( 1..5 ); 5 elem

(1 to 3).toArray

my $ref = [1..3];
my @a = @$ref;
# @a ==> ( 1, 2, 3 )

Range(1, 6)
my $range = [1..6];

作者: sunzhiguolu    时间: 2017-05-14 00:27
谢谢您的给力指导,终于弄懂一个概念。
作者: jason680    时间: 2017-05-15 14:16
http://baike.baidu.com/item/Scala
Scala是一门多范式的编程语言,一种类似java的编程语言[1]  ,设计初衷是实现可伸缩的语言[2]  、并集成面向对象编程和函数式编程的各种特性
...
根据David Rupp在博客中的说法,Scala可能是下下一代Java。...

http://bbs.chinaunix.net/thread-3766902-1-1.html
作者: sunzhiguolu    时间: 2017-05-15 18:59
回复 7# jason680
谢谢大神的提醒,我已经做好充分的思想准备。


作者: MMMIX    时间: 2017-05-15 19:21
sunzhiguolu 发表于 2017-05-13 14:24
论坛中没有开设 Scala 板块,只有在 Perl 中进行求助了。
代码如下:



这个论坛没有 Scala 版,你可以去版务建议开新版,或者是换个论坛,不要乱发帖子!

作者: sunzhiguolu    时间: 2017-05-15 19:41
回复 9# MMMIX
谢谢大神提醒,这两天我就向论坛申请 Scala 板块。只是在 Perl 版临时发几个帖子,要不您老人家将我的帖子移到综合区。(只要不违反论坛龟腚,不影响您老人家的工作就行)



作者: sunzhiguolu    时间: 2017-05-15 20:08
另外,我也非常感谢 Perl 版版主大神对我的宽容。非常感谢。
作者: Okelani    时间: 2017-05-16 10:56
提问的技巧??

例如

[perl vs scala]: scala's Array 非常愚蠢

perl:

  1. my @a = (1 .. 5);
  2. for (@a) { say }
  3. # say for @a;
复制代码


output:
1
2
3
4
5

scala:


  1. val a = Array( 1 to 5 )
  2. a.foreach { println }
复制代码


output:
Range(1,2,3,4,5)

scala 不人性化, 非常愚蠢, 建议大家不要学习 scala!!


作者: sditmaner    时间: 2017-05-16 11:14
回复 7# jason680




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2