Skip to content

Instantly share code, notes, and snippets.

View ryandavidhartman's full-sized avatar

Ryan Hartman ryandavidhartman

  • InterPayments
  • Bloomington, IN, USA
View GitHub Profile
@ryandavidhartman
ryandavidhartman / try_example6.scala
Last active August 29, 2015 14:22
try_example6
def processData(data: List[Data]): Try[Int] = {
data flatMap(x => x.sumBy(i => i.value))
}
@ryandavidhartman
ryandavidhartman / try_example5.scala
Last active August 29, 2015 14:22
try_example5
def processData(data: Try[List[Data]]): Try[Int] = data match {
case Success(x) => x.sumBy(i => i.value)
case Failure(e) => Failure(e)
}
@ryandavidhartman
ryandavidhartman / try_example4.scala
Last active August 29, 2015 14:22
try_example4
def collectData(): Try[List[Data]] = {
val data = dataGetter()
if(data.length < 1)
throw new DataException("Data Collection Fails")
else
data
}
@ryandavidhartman
ryandavidhartman / try_example3.scala
Last active August 29, 2015 14:22
try_example3
abstract class Try[T]
case class Success[T](elem: T) extends Try[T]
case class Failure(t: Throwable) extends Try[Nothing]
def collectData(): List[Data] = {
val data = runDataCollectionJob()
if(data.length == 0)
throw new DataException("Data Collection Fails")
data
}
@ryandavidhartman
ryandavidhartman / try_example1.scala
Last active August 29, 2015 14:22
Example 1 of Scala Try syntax
object Program {
def apply(): Program = new Program()
}
trait Program {
def collectData(): List[Data] = { some code, returning a list of Data items }
def processData(data: List[Data]): Int = { data.sumBy(i => i.value }
def Run(): Int = {
val program = Program()
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<BuildPlatform Condition=" '$(BuildPlatform)' == '' ">AnyCPU</BuildPlatform>
<Solution>AdminPortal</Solution>
<WebsiteProjectName>$(Solution)</WebsiteProjectName>
<DBSetupProjectName>$(Solution)Deployment</DBSetupProjectName>
<BuildArtifactsDir>BuildArtifacts</BuildArtifactsDir>