Scala中的“ \ *”是否与“ *”相同?

时间:2018-11-11 05:31:05

标签: scala

我看到一段代码

<script>


    function show_login_modal() {           
        $("#loginModal").modal("show");                 
    }       
    function show_signup_modal() {          
        $("#signupModal").modal("show");
    }
    function hide_all_modal() {
        $("#signupModal").modal("hide");
        $("#loginModal").modal("hide");
    }       


</script>
    <?php
            if (isset($display_type))
                if ($display_type == 'signin')
                    echo '<script type="text/javascript">show_signin_modal();</script>';
                else if ($display_type == 'join')
                    echo '<script type="text/javascript">show_join_modal();</script>';


//echo 'show_join_modal();';
                else
                    ;
    ?>

符号def poly(x: Int): Int = x\*x - 2\*x +1 使我感到困惑。这个\*的工作方式似乎与乘法类似,即\*,但是为什么在*前面有\*\*一样吗?

2 个答案:

答案 0 :(得分:1)

在香草Scala中不存在。可以将\*定义为隐式类中的方法:

implicit class IntOps(x: Int) {
  def \*(y: Int) = x * y
}

可以按照与您看到的方式相同的方式使用:6 \* 7

但是要在您的代码中使用此新方法\*,隐式类必须在范围内或已导入。

但是,我怀疑以上都不适用。可能是因为在显示代码时出现错误,而该代码应显示为:

def poly(x: Int): Int = x*x - 2*x +1

答案 1 :(得分:0)

  

我看到一段代码

def poly(x: Int): Int = x\*x - 2\*x +1
     

符号\*使我感到困惑。看来,这个\*就像乘法一样,即*,但是为什么在\前面有*

这只是方法的名称。 \*与方法名称一样有效,与*foobar???一样有效。就像其他方法一样。

  

\**相同吗?

否,\*\*,而**。它们是不同的方法,就像foobar是不同的方法一样。