Scala手记

idea问题

bad option: '-make:transitive' was ignoredbad option '-dependencyfile' was ignored
删掉.idea/scala_compiler.xml里的

<parameter value="-dependencyfile" />
<parameter value="-make:transitive" />

Scala3 maven配置

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0modelVersion>
  <groupId>org.examplegroupId>
  <artifactId>untitled1artifactId>
  <version>1.0-SNAPSHOTversion>
  <name>${project.artifactId}name>
  <description>My wonderfull scala appdescription>
  <inceptionYear>2010inceptionYear>
  <licenses>
    <license>
      <name>My Licensename>
      <url>http://....url>
      <distribution>repodistribution>
    license>
  licenses>

  <properties>
    <maven.compiler.source>1.5maven.compiler.source>
    <maven.compiler.target>1.5maven.compiler.target>
    <encoding>UTF-8encoding>
    <scala.version>3.2.1scala.version>
  properties>


  <dependencies>
    <dependency>
      <groupId>org.scala-langgroupId>
      <artifactId>scala3-library_3artifactId>
      <version>3.2.1version>
    dependency>

    
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.8.1version>
      <scope>testscope>
    dependency>
    <dependency>
      <groupId>org.scala-tools.testinggroupId>
      <artifactId>specsartifactId>
      <version>1.6.2version>
      <scope>testscope>
    dependency>
    <dependency>
      <groupId>org.scalatestgroupId>
      <artifactId>scalatestartifactId>
      <version>1.2version>
      <scope>testscope>
    dependency>
  dependencies>

  <build>
    <sourceDirectory>src/main/scalasourceDirectory>
    <testSourceDirectory>src/test/scalatestSourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.scala-toolsgroupId>
        <artifactId>maven-scala-pluginartifactId>
        <version>2.15.0version>
        <executions>
          <execution>
            <goals>
              <goal>compilegoal>
              <goal>testCompilegoal>
            goals>
            <configuration>
              <args>
                <arg>-make:transitivearg>
                <arg>-dependencyfilearg>
                <arg>${project.build.directory}/.scala_dependenciesarg>
              args>
            configuration>
          execution>
        executions>
      plugin>
      <plugin>
        <groupId>org.apache.maven.pluginsgroupId>
        <artifactId>maven-surefire-pluginartifactId>
        <version>2.6version>
        <configuration>
          <useFile>falseuseFile>
          <disableXmlReport>truedisableXmlReport>
          
          
          <includes>
            <include>**/*Test.*include>
            <include>**/*Suite.*include>
          includes>
        configuration>
      plugin>
    plugins>
  build>
project>

extension in Scala 3

package org.example

case class Circle(x: Double, y: Double, radius: Double) {}

extension (c: Circle)
  def circumference(): Double = c.radius * math.Pi * 2
  def diameter(): Double = c.radius * 2
  def area(): Double = math.Pi * c.radius * c.radius

@main def hello(): Unit =
  val c = Circle(1, 2, 3)
  println(c.circumference())
  println(c.diameter())
  println(c.area())

你可能感兴趣的:(编程语言,intellij-idea,scala)