by shigemk2

当面は技術的なことしか書かない

forの中でのスコープの拡大

コメントの通り。forの中で定義したものは使いまわせる。

// forの最初に内側で定義した変数をあとで使用できる
val dogBreads = List("Doberman", "Yorkshire Terrier", "Dachshund",
  "Scottish Terrier", "Great Dane", "Portuguese Water Dog")

for {
  bread <- dogBreads
  upcasdBread = bread.toUpperCase()
} println(upcasdBread)

Programming Scala: Scalability = Functional Programming + Objects

Programming Scala: Scalability = Functional Programming + Objects

yieldおさらい

フィルタリングの結果をプログラムの別の部分(たとえば変数)に渡すパターン。forにおけるreturn的な何か。

val dogBreads = List("Doberman", "Yorkshire Terrier", "Dachshund",
  "Scottish Terrier", "Great Dane", "Portuguese Water Dog")

val filteredBreads = for {
  bread <- dogBreads
  if bread.contains("Terrier")
  if !bread.startsWith("Yorkshire")
} yield bread

println(filteredBreads) // List(Scottish Terrier)
println(filteredBreads(0)) // Scottish Terrier

Programming Scala: Scalability = Functional Programming + Objects

Programming Scala: Scalability = Functional Programming + Objects

MacのFSはcase-insensitiveなので、Gitのupcaseなどのファイル名変更を追跡してくれない話を思い出した

ほぼ2年前に通過した場所をもう一度思い出しました。

www.shigemk2.com

gist.github.com

MacのファイルシステムはCase-sensitiveではないので、たとえばHoge.txtをリネームしてhoge.txtにしても、Gitはファイル名の変更を追跡してくれない(MacみたいなCase-insensitiveなFS限定)

stackoverflow.com

で、回避方法としては、git mvを使う方法などがある。

git mv File file.tmp
git mv file.tmp file

聖剣使いの禁呪詠唱 < ワールドブレイク > Vol.4 [Blu-ray]

聖剣使いの禁呪詠唱 < ワールドブレイク > Vol.4 [Blu-ray]