自作時計

category躁鬱病・仕事

あと2日

trackback1  comment0
 今週もあと2日です。5月は休んでしまうことが多かったので、今週くらいは休まずに出社したいものです。
categoryエレクトーン

タラのテーマ 風とともに去りぬ 10級 右手

trackback0  comment0

categoryカラオケ

神野美伽「黒髪」

trackback1  comment0
 カラオケ教室の今回の練習曲は神野美伽「黒髪」です。


黒髪


category躁鬱病・仕事

木曜日、またも欠勤

trackback1  comment0
 年休9日目。
categoryカラオケ

アリス「秋止符」

trackback1  comment0
 アリスの「秋止符」を歌ってみました。


秋止符
category躁鬱病・仕事

3週連続の火曜日の欠勤

trackback1  comment0
 3週連続で火曜日を休んでしまった。先週は金曜も休んだので、年休を8日消化してしまった。まだ4月・5月の2ヶ月だというのに!! おまけに、今日も早退。

category徒然に想うこと

金環日食用メガネで右往左往

trackback1  comment0
 日曜日の夕方、金環日食用メガネを探して、5軒もいろんな店に行ったが、時すでに遅し、すべての店で完売で徒労に終わった。大阪は雲の合間から見ることができたようだが、私はテレビでしか見ることができなかった。

categoryHaskell

関数定義

trackback1  comment0
プログラミング覚書 Haskell-007

関数定義
----------------------------------------------------------------------

module Main where

factorial n = if n == 0 then 1 else n * factorial (n - 1)

main = do putStrLn "What is 5! ?"
x <- readLn
if x == factorial 5
then putStrLn "You're right!"
else putStrLn "You're wrong!"

----------------------------------------------------------------------
categoryHaskell

入出力 readLn putStrLn

trackback1  comment0
プログラミング覚書 Haskell-006

入出力 readLn putStrLn
----------------------------------------------------------------------

main = do putStrLn "What is 2 + 2?"
x <- readLn
if x == 4
then putStrLn "You're right!"
else putStrLn "You're wrong!"

----------------------------------------------------------------------
=
categoryHaskell

tail.hs

trackback1  comment0
プログラミング覚書 Haskell-005

tail.hs
 標準入力の最後の10行を出力
----------------------------------------------------------------------

main = do cs <- getContents
putStr $ lastNLines 10 cs

lastNLines n cs = unlines $ takeLast n $ lines cs

takeLast n ss = reverse $ take n $ reverse ss

----------------------------------------------------------------------
 ・reverse関数:リストを逆順にする
categoryHaskell

head.hs

trackback1  comment0
プログラミング覚書 Haskell-004

head.hs
 標準入力の最初の10行を出力
----------------------------------------------------------------------

main = do cs <- getContents
putStr $ firstNLines 10 cs

firstNLines n cs = unlines $ take n $ lines cs

 ・4行目は関数firstNLinesの定義
 ・take関数:リストの先頭からn要素をとったリストを返す
----------------------------------------------------------------------
categoryHaskell

countline.hs

trackback1  comment0
プログラミング覚書 Haskell-003

countline.hs
 標準入力の行数を数える
----------------------------------------------------------------------

main = do cs <- getContents
print (length (lines cs))

----------------------------------------------------------------------
 ・lines関数:文字列を行のリストに分割
 ・length関数:リストの長さ(要素の数)を返す
categoryHaskell

cat.hs

trackback1  comment0
プログラミング覚書 Haskell-002

cat.hs
 標準入力をそのまま標準出力へ出力する
 ファイルのリダイレクトで内容を簡単に見るのに便利
----------------------------------------------------------------------

main = do cs <- getContents
putStr cs

----------------------------------------------------------------------
 ・「cs <- getContents」と「putStr cs」の頭を揃えるのをレイアウトと云う。
   これでdo式は2つの式をまとまりとみなす。
 ・変数csをgetContentsアクションの結果に束縛する。
categoryHaskell

good.hs

trackback1  comment0
プログラミング覚書 Haskell-001

good.hs
----------------------------------------------------------------------

main = putStrLn "Good Morning!!"

コンパイル
ghc good.hs -o good
実行例
good
Good Morning!!

----------------------------------------------------------------------
 ・Haskellプログラムはmainアクションから始まる。
 ・「main = ... 」は変数mainの定義
categoryF#

rec 再帰

trackback1  comment0
プログラミング覚書 F#-008

rec 再帰
----------------------------------------------------------------------

let rec loop i =
printf "%d " i;
if i <= 0 then 0 else loop (i-1);;

loop 5;;
// 5 4 3 2 1 0

----------------------------------------------------------------------
categoryF#

for

trackback1  comment0
プログラミング覚書 F#-007

for
----------------------------------------------------------------------

for i = 1 to 10 do
printf "%d " i
done;;

----------------------------------------------------------------------
categoryF#

fold

trackback1  comment0
プログラミング覚書 F#-006

fold
----------------------------------------------------------------------

printf "%d\n" (List.fold (fun acc x -> acc + x) 0 [1..10]);;
// 55

----------------------------------------------------------------------
categoryF#

レコード

trackback1  comment0
プログラミング覚書 F#-005

レコード
----------------------------------------------------------------------

// 本を表すレコードを定義します。
type book =
{
title: string;
kakaku: int;
};;

// book型の値を作成してみます。
let hoge_book =
{
title = "hoge";
kakaku = 2600;
};;

// レコードのそれぞれのフィールドにアクセスしてみます。
printf "title=%s,kakaku=%d\n" hoge_book.title hoge_book.kakaku;;

----------------------------------------------------------------------
categoryF#

match

trackback1  comment0
プログラミング覚書 F#-004

match
----------------------------------------------------------------------

let NumToString n =
match n with
| 1 -> "one"
| 2 -> "two"
| _ -> "another number"

printf "%s\n" (NumToString 2);;
printf "%s\n" (NumToString 1);;
printf "%s\n" (NumToString 3);;

----------------------------------------------------------------------
categoryF#

if

trackback1  comment0
プログラミング覚書 F#-003

if
----------------------------------------------------------------------

let compare x y =
if x > y then x else y

let a = compare 6 8;;

printfn "%d" a;;

----------------------------------------------------------------------
New «‡Top» Old