--euler #001 / recursion let fizzbuzz a = (a `mod` 3 == 0) || (a `mod` 5 == 0) putStrLn(show(sum(filter (fizzbuzz) [1..999])))
referring Problem 1 - Project Euler
--euler #001 / recursion let fizzbuzz a = (a `mod` 3 == 0) || (a `mod` 5 == 0) putStrLn(show(sum(filter (fizzbuzz) [1..999])))
Original Key Db / Capo. 1 / Play in C / Tempo 97 [intro] C " " " | G " " " | Am7 " " " | F " " " | C " C/B " | G/A# " Am " | F " " " | G# " " " | C " " " | F " G " | [verse] C " " " | C " " " | Am7 " " " | Am7 " " " | F " " " | Fm " " " | C " " " | E7 " " " | F " " " | F " " " | C " " " | Am7 " " " | F " " " | F " " " | G " " " | G " " " | [chorus] C " " " | C " " " | Am7 " " " | E7 " " " | F " " " | G " " " | C " " " | C " " " | [bridge] F " " " | G " " " | C " " " | C " " " | F " " " | G " " " | C " " " | F " G " | (1st: go back to [verse]) [chorus2] C " " " | C " " " | Am7 " " " | E7 " " " | F " " " | G " " " | C " " " | C " " " | Am7 " " " | E7 " " " | F " " " | G " " " | C " " " | C " " " | [pre-outro] F " " " | G " " " | C " " " | Am7 " " " | F " " " | E7 " " " | Am7 " " " | G " " " | F " " " | E7 " " " | ( Am7 " " " | G " " " | F " " " | G " " " | ) C " C/B " | G/A# " Am " | F " G " | C " C/B " | G/A# " Am " | F " G " | C " C/B " | G/A# " Am " | F " G " | C " C/B " | G/A# " Am " | F " G " | [outro] C " " " | G " " " | Am7 " " " | F " " " | C " " " | G " " " | Am7 " " " | F " " " | C " " " | G " " " | Am7 " " " | F " " " | ...
class Door
private bool isShut
private bool isLocked
!isShut && isLockedという状態は有り得ないので、Doorクラスを扱う際は『常に』気を使う必要がある。
if(newval==true){
this.isShut = true
}
else{
this.isShut = false
if(this.isLocked){
this.isLocked = false
}
}
class Person
private string FirstName
private string MiddleName
private string LastName
let TotalNumCharsInPersonsName(p:Person) =
p.FirstName.Length + p.MiddleName.Length + p.LastName.Lengthlet TotalNumCharsInPersonsName(p:Person) =
(if p.FirstName=null then 0 else p.FirstName.Length)
+ (if p.MiddleName=null then 0 else p.MiddleName.Length)
+ (if p.LastName=null then 0 else p.LastName.Length)type DoorState =
| Open | ShutAndUnlocked | ShutAndLocked
# then I could define
class Door
private DoorState state
class Person
private string FirstName
private Option<string> MiddleName
private string LastName
let TotalNumCharsInPersonsName(p:Person) =
let middleLen = match p.MiddleName with
| None -> 0
| Some(s) -> s.Length
p.FirstName.Length + middleLen + p.LastName.Length