2016年5月12日のブックマーク (3件)

  • Lisp脳なFizzBuzzをJavaScriptで書いてみた - あと味

    最近、JavaScriptに惹かれる理由は、関数型言語の特徴を持つところに原因があるような気がしています。 Lispを得意としている人は、Lisp脳なる考え方があるとのことです。 興味の源泉に出会うために、Lisp脳を覗いてみようと思い、を読みながら、JavaScriptでLisp脳なFizzBuzz*1を書いてみました。 お手 (for-each print (map (lambda (x) (cond ((= (modulo x 15) 0) "FizzBuzz") ((= (modulo x 5) 0) "Buzz") ((= (modulo x 3) 0) "Fizz") (else x))) (iota 100 1))) これを読むだけでは、正直何をやってるかわかりません。次に、解説を読みながら書いてみます。 まずはリストを作る 「とりあえず1から100までのリストを作れば良さ

    Lisp脳なFizzBuzzをJavaScriptで書いてみた - あと味
  • Common LispでFizzBuzzを解いてみた - cyblue9's blog

    Ruby FizzBuzz最短コードメモ (51bytes) ネタバレ注意 - Qiitaを見て、Common Lispでは何byteで書けるかな?と思ったのでやってみた。 結論から言うと、あまり短いコードは書けなかった(技量的に)。しかしながら、面白いことを2つ発見したのでまとめておく。 負の剰余 Cで配列のインデックスを指定する場合や素数判定のプログラムを書くときに剰余演算子を用いたことはあった。そのときは正の剰余を想定して書いたので、負の剰余のことなぞ考えたこともなかった。しかし、上記の記事では負の剰余を用いており、ではCommon Lispではどうなるのかな?と思ったのでまとめてみた。処理系はCCL1.6。 n (mod n 15) (mod n -15) (mod -n 15) (mod -n -15) 1 1 -14 14 -1 2 2 -13 13 -2 3 3 -12 12

    Common LispでFizzBuzzを解いてみた - cyblue9's blog
  • Node.jsでSlack botを作る – Mechanic Note

    去年9月頃から、開発陣だけでSlackを使っていたのですが、5月より正式な社内コミュニケーションツールとして採用されました! Slackと言ったらbot。 という訳で、取り急ぎ勤怠管理botを作りました! 勤怠管理 前提 弊社では自社開発のAirpo(エアポ)という社内システムで勤怠管理を行っています。 会社の入り口にはAndroidタブレットが置かれていて、そこには勤怠管理用のapkが常時起動しています。 朝出社したら自分の名前をタップすると出勤。帰る時に、自分の名前をタップすると退勤になる仕組みです。 Webからも出退勤ができる様になっているので、自宅作業や外出の時でもタイムカードが押せるようになっています。 問題点 直行や直帰、自宅作業の時はついつい打刻を忘れがち 自宅作業など社外で仕事をしていると誰が仕事中かわかりにくい 作るbotの仕様 やれる事 botが監視するのは #0_st

    Node.jsでSlack botを作る – Mechanic Note