title: Scala HIGHER-ORDER FUNCTIONS confuse
body: <p>When learning Scala， I get an example for HIGHER-ORDER FUNCTIONS, from here</p>
  
  <p><a href="https://docs.scala-lang.org/tour/higher-order-functions.html" rel="nofollow noreferrer">https://docs.scala-lang.org/tour/higher-order-functions.html</a></p>
  
  <pre><code>def apply(f : Int =&gt; String, v : Int) = f(v)
  def layout[A](x : A) : String = x.toString
  println(apply(layout, 1000))
  </code></pre>
  
  <p>My question is if layout has more than 1 parameters, like this :</p>
  
  <pre><code>def layout[A](x : A, y : A) : String = x.toString + y.toString
  </code></pre>
  
  <p>for Intuitive understanding， I define apply as follows</p>
  
  <pre><code>def apply(f : Int, Int =&gt; String, v : Int, w : Int) = f(v, w)
  </code></pre>
  
  <p>Of course， this is can not compiled. 
  I think I have a deviation from the understanding of the type of function in Scala.</p>
  
  <p>How to solve this problem with the right posture, and Solve this problem with the right posture, and more in-depth understanding of the definition of scala function types is good.</p>