Re: [scala-br] Compilar arquivo .scala pelo prompt do scala

60 views
Skip to first unread message

Daniel Sobral

unread,
Feb 19, 2013, 2:24:49 PM2/19/13
to scal...@googlegroups.com
Isso é um script, não um programa. Ele é executado diretamente com o comando "scala", ao invéz de ser compilado com o comando "scalac".


2013/2/19 Roger75 <rcan...@gmail.com>
Estou tentando compilar um arquivo .scala mas está dando erro.

Vejam:

scala> scalac c:\\scala\\teste1.scala
<console>:1: error: ';' expected but '.' found.
       scalac c:\\scala\\teste1.scala


O conteúdo do programa está assim:
println("Isto eh um primeiro teste com scala");


O que pode estar acontecendo?                               

--
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "scala-br" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para scala-br+u...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 



--
Daniel C. Sobral

I travel to the future all the time.

Roger75

unread,
Feb 19, 2013, 2:29:33 PM2/19/13
to scal...@googlegroups.com
Mudei o conteúdo para:

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

mesmo assim não compila. como devo fazer?

Daniel Sobral

unread,
Feb 19, 2013, 5:07:54 PM2/19/13
to scal...@googlegroups.com
Opa, calma aí... você está *dentro* de Scala? 

scala>

???

De dentro do REPL vc não compila, só digita os comandos diretamente.


2013/2/19 Roger75 <rcan...@gmail.com>

Roger75

unread,
Mar 26, 2013, 3:04:29 PM3/26/13
to scal...@googlegroups.com
Fiz uma classe simples, mas ainda encontro dificuldades para compilar:

Conteúdo de HolaMundo.scala:
object HolaMundo {
def main(args: Array[String]) {
println("Hola, mundo!")
}
}




O meu Scala está instalado em C:\Program Files (x86)\scala\


Veja o que acontece quando tento compilar:


C:\Program Files (x86)\scala\bin>scalac C:\Users\usu1\usu1\scala\HolaMundo
.scala
error:
     while compiling: C:\Users\usu1\usu1\scala\HolaMundo.scala
        during phase: jvm
     library version: version 2.10.0
    compiler version: version 2.10.0
  reconstructed args:

  last tree to typer: Literal(Constant(Hola, mundo!))
              symbol: null
   symbol definition: null
                 tpe: String("Hola, mundo!")
       symbol owners:
      context owners: object HolaMundo -> package <empty>

== Enclosing template or block ==

Template( // val <local HolaMundo>: <notype> in object HolaMundo, tree.tpe=HolaM
undo.type
  "java.lang.Object" // parents
  ValDef(
    private
    "_"
    <tpt>
    <empty>
  )
  // 2 statements
  DefDef( // def main(args: Array[String]): Unit in object HolaMundo
    <method>
    "main"
    []
    // 1 parameter list
    ValDef( // args: Array[String]
      <param>
      "args"
      <tpt> // tree.tpe=Array[String]
      <empty>
    )
    <tpt> // tree.tpe=Unit
    Apply( // def println(x: Object): Unit in object Predef, tree.tpe=Unit
      scala.this."Predef"."println" // def println(x: Object): Unit in object Pr
edef, tree.tpe=(x: Object)Unit
      "Hola, mundo!"
    )
  )
  DefDef( // def <init>(): HolaMundo.type in object HolaMundo
    <method>
    "<init>"
    []
    List(Nil)
    <tpt> // tree.tpe=HolaMundo.type
    Block( // tree.tpe=Unit
      Apply( // def <init>(): Object in class Object, tree.tpe=Object
        HolaMundo.super."<init>" // def <init>(): Object in class Object, tree.t
pe=()Object
        Nil
      )
      ()
    )
  )
)

== Expanded type of tree ==

ConstantType(value = Constant(Hola, mundo!))

uncaught exception during compilation: java.io.IOException
error: Acesso negado
two errors found

C:\Program Files (x86)\scala\bin>

Gustavo Henrique Lima Pinto

unread,
Mar 26, 2013, 3:56:53 PM3/26/13
to scal...@googlegroups.com
Oi Roger, 

uncaught exception during compilation: java.io.IOException
error: Acesso negado
two errors found

veja que você recebeu um acesso negado. O usuário que você está utilizando tem permissão de escrita nesse diretório (C:\Users\usu1\usu1\scala\)?

Btw, achei estranho você precisar usar o scalac dentro da pasta dele. Você consegue acessa-lo de outro diretório dentro do prompt? Se não, é pq vc precisa declarar o diretorio bin no seu path.

Abraços

Roger75

unread,
Mar 27, 2013, 2:50:28 PM3/27/13
to scal...@googlegroups.com
Descobri: tinha que abrir o console do DOS como administrator...
Reply all
Reply to author
Forward
0 new messages