Skip to content

Instantly share code, notes, and snippets.

View mizukmb's full-sized avatar
🏠
Working from home

Yuto MIZUSHIRI mizukmb

🏠
Working from home
View GitHub Profile
module MS
def print(token)
case token
when MAtom
token.token
when Array
"( #{token.map{ |t| print(t) }.join(' ')} )"
else
raise 'Syntax Error!!'
end
fizzBuzz :: Integer -> String
fizzBuzz 0 = "0"
fizzBuzz fz
| fz `mod` 15 == 0 = "FizzBuzz"
| fz `mod` 3 == 0 = "Fizz"
| fz `mod` 5 == 0 = "Buzz"
| otherwise = show fz
### Keybase proof
I hereby claim:
* I am mizukmb on github.
* I am mizukmb (https://keybase.io/mizukmb) on keybase.
* I have a public key ASDIJCpIGZGau3t-dTFB0lNkkojZRJDQPogWkwlShZ39uQo
To claim this, I am signing this object:
fib :: Int -> Int
-- Pattern match
-- fib 0 = 0
-- fib 1 = 1
--
-- fib n = fib (n-1) + fib (n-2)
-- Guard
fib n
-- 引数の数字が 100 よりも大きいか返す関数
-- -> 数字の比較
-- -> 100よりも大きいか
gt100 :: Int -> Ordering
-- compare 1 2
-- compare 100 x
gt100 = compare 100
module Shapes (Point, Shape, area, nudge, baseCircle, baseRect) where
-- data Shape = Circle Float Float Float |
-- Rectangle Float Float Float Float
-- data Shape = Circle Float Float Float |
-- Rectangle Float Float Float Float
-- deriving (Show)
data Point = Point Float Float deriving (Show)
data Shape = Circle Point Float | Rectangle Point Point deriving (Show)
-- area :: Shape -> Float
-- data Person = Person String String Int Float String String deriving (Show)
-- レコード構文
-- ex.)
-- *Main> let guy = Person "Buddy" "Finklestein" 43 184.2 "526-2928" "Chocolate"
-- *Main> flavor guy
-- "Chocolate"
-- *Main> :t flavor
-- flavor :: Person -> String
data Person = Person {
firstName :: String,
data Vector a = Vector a a a deriving (Show)
vplus :: (Num a) => Vector a -> Vector a -> Vector a
(Vector i j k) `vplus` (Vector l m n) = Vector (i+l) (j+m) (k+n)
dotProd :: (Num a) => Vector a -> Vector a -> a
(Vector i j k) `dotProd` (Vector l m n) = i*l + j*m + k*n
vmult :: (Num a) => Vector a -> a -> Vector a
(Vector i j k) `vmult` m = Vector (i*m) (j*m) (j*m)
@mizukmb
mizukmb / vimode.json
Created July 28, 2017 07:46
vi mode (opt + hjkl) in Karabiner-Elements
{
"description": "vi mode (opt + hjkl)",
"manipulators": [
{
"from": {
"key_code": "h",
"modifiers": {
"mandatory": [
"left_option"
],
@mizukmb
mizukmb / rightshift.json
Created July 28, 2017 07:49
right_shift to _ (under bar) in Karabiner-Elements
{
"description": "右シフトをアンダーバーにする",
"manipulators": [
{
"from": {
"key_code": "right_shift",
"modifiers": {
"optional": [
"any"
]