我希望將var/val的值從一種方法傳遞給另一種方法。
例如,我有在Scala中相同Object的2個方法之間傳遞值
object abc {
def onStart = {
val startTime = new java.sql.Timestamp(new Date())
}
def onEnd = {
//use startTime here
}
}
電話:
onStart()
executeReports(reportName, sqlContexts)
onEnd()
這裏onStart()
和onEnd()
是作業監視功能executeReports()
。
executeReports()
在5個報告中循環運行。
我一直在使用全局變量一樣
object abc{
var startTime : java.sql.Timestamp = _
def onStart = {
startTime = new java.sql.Timestamp(new Date())
}
def onEnd = {
//use startTime here
}
}
,但與此有關的缺點是當循環執行下一個報告試過了,startTime
不會改變。
我也嘗試過使用Singleton類,它對我也不起作用。
我的要求是每個迭代都有一個startTime
,即每個報告。 任何想法都歡迎在這裏。如果需要,我會很樂意提供有關我的要求的更多說明。
謝謝RussS!在我的情況下,我被綁定到設計上,並且我無法做出任何更改..但是我愛你的答案。 :)它整潔有效,以及 – underwood