Nowy dział: Scala

0

Kontekst: Nowe działy na forum

1

niech się pojawią tylko pierwsze posty mutujące stan

object eloświat
{
    def 🐖() = 
    {
       // a:
        val counter:Int = 0;
        println("Hello, world")
        counter++;
        // goto a;
    }
}

ScalaFiddle.scala error: illegal character '\ud83d'
def [CIACH!]() =
^
ScalaFiddle.scala error: illegal character '\udc16'
def [CIACH!]() =
^
ScalaFiddle.scala error: identifier expected but something found.
def [CIACH!]() =
^

oraz jeszcze jeden ukryty rodzynek

ScalaFiddle.scala error: value ++ is not a member of scala.this.Int
counter++;

0
WeiXiao napisał(a):

oraz jeszcze jeden ukryty rodzynek

ScalaFiddle.scala error: value ++ is not a member of scala.this.Int
counter++;

Ale co w tym dziwnego że scala nie ma zdefiniowanego operatora ++?

2

@WeiXiao: Protip:

def `🐖`(): Unit = { println("chrum, chrum") }

`🐖`()
// chrum, chrum
0

@KamilAdam:

w sumie to nic

3

++ jest po to, by były zagwozdki typu: co wypisze poniższy kod?

var x = 0
println(++(++(++x)++)++)++ + ++x++ * ++x++)

Oczywiście kod jest popsuty i bez sensu, ale co jakiś czas pojawiają się rozkminy co się powinno stać, gdy na jednej zmiennej w jednym wyrażeniu zrobi się kilka razy ++.

A i w sumie jeszcze jest inne zastosowanie ++. Podobno ++i jest szybsze niż i++ i dlatego zboczeni c++owcy w pętlach robią ++i. W sumie można by ich nazwać ++cowcami. Nowy, szybszy ++C.

1

Nie no. De facto w Scali tez mamy ++, tylko ze on dziala troche inaczej niz ludzie z C mogliby oczekiwac :)

List(1,2,3) ++ List(4,5,6)

1 użytkowników online, w tym zalogowanych: 0, gości: 1