WEB开发网
开发学院软件开发Java 面向 Java 开发人员的 Scala 指南: 用 Scitter 更... 阅读

面向 Java 开发人员的 Scala 指南: 用 Scitter 更新 Twitter

 2009-12-09 00:00:00 来源:WEB开发网   
核心提示: 如果 Twitter API 需要其他 HTTP 动作支持(PUT 和/或 DELETE 就是可能需要的动作),那么总是可以将 HTTP 参数作为特定参数 — 也许又是一组 case 类 — 并让 execute() 以一个 HTTP 动作、URL、名称/值对的 map

如果 Twitter API 需要其他 HTTP 动作支持(PUT 和/或 DELETE 就是可能需要的动作),那么总是可以将 HTTP 参数作为特定参数 — 也许又是一组 case 类 — 并让 execute() 以一个 HTTP 动作、URL、名称/值对的 map 以及(可选)用户名/密码作为 5 个参数。然后,必要时可以将可选参数转换成一个字符串或一组 POST 参数。这些内容只需记在脑中就行了。

显示

show 调用接受要检索的 Twitter 状态的 id,并显示 Twitter 状态。和 update 一样,这个方法非常简单,无需再作说明,如清单 7 所示:


清单 7. Scitter v0.3: show
package com.tedneward.scitter 
 
{ 
 
 class Scitter 
 
 { 
 
  // ... 
 
 
 
  def show(id : Long) : Option[Status] = 
 
  { 
 
   val (statusCode, body) = 
 
    Scitter.execute("http://twitter.com/statuses/show/" + id + ".xml", 
 
  username, password) 
 
   if (statusCode == 200) 
 
   { 
 
    Some(Status.fromXml(XML.loadString(body))) 
 
   } 
 
   else 
 
   { 
 
    None 
 
   } 
 
  } 
 
 } 
 
} 

还有问题吗?

另一种显示方法

如果想再试一下模式匹配,那么可以看看清单 8 中是如何以另一种方式编写 show() 方法的:


清单 8. Scitter v0.3: show redux
package com.tedneward.scitter 
 
{ 
 
 class Scitter 
 
 { 
 
  // ... 
 
 
 
  def show(id : Long) : Option[Status] = 
 
  { 
 
   Scitter.execute("http://twitter.com/statuses/show/" + id + ".xml", 
     username, password) match 
 
   { 
 
    case (200, body) => 
 
     Some(Status.fromXml(XML.loadString(body))) 
 
    case (_, _) => 
 
     None 
 
   } 
 
  } 
 
 } 
 
} 

上一页  3 4 5 6 7 8 9  下一页

Tags:面向 Java 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接