challenge loan patternのサンプル

リソースを使うときのパターンloanのサンプルを書いて下さい。
参考
Programming in Scala (P.170 , P.172)

妙なところに投稿してしまっていたようです。すみません。 ネットワークプログラムは不慣れなところがありますので、ビシィっと指導してくださいませ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//loan patternのサンプル
//お題:http://ja.doukaku.org/258/

import java.net._

object LoanSample {
  def main(args : Array[String]) : Unit = {
    SocketLoan.processWith("ja.doukaku.org",80){
      sock=>
        println( sock )
        // ここにいろいろな処理
        // そして、たまに、間違う
        var a = 1/0 // ---> java.lang.ArithmeticException
        // ここにいろいろな処理
        ()
    }
  }
}

object SocketLoan{
  def processWith(serverName:String,port:Int)(op:Socket=>Unit) : Unit = {
    try{
      val sock = new Socket(serverName,port)
      //-------------------------------
      try{
        // loan it
        op(sock)
      }catch{
        case e:Exception => println("err inside loan : "+e)
        case _ =>
      }
      //-------------------------------
      sock.close()
    }catch{
      case e:Exception => println("err outside loan"+ e)
      case _ =>
    }
  }
}

Posted feedbacks

Number of comments:19 Nested Flatten
  1. 6 Scala
  2. 2 C++
  3. 1 Ruby D C# Groovy Java Python Smalltalk Perl OCaml

Index

Feed

Other

Link

Pathtraq

loading...