コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

れーわなのでらけっとをやります

まるかっこ恐怖症の僕がすきーまちほーを襲撃していく話

れーわがはじまったのでらけっとをやっていこうとおもったのです。しんげんごーだけにしんげんごにてをだそうっておもったのです(こいきなじょーく)。


はい、ということで Reiwa の R は Racket の R だということで、Racket やることにします。ちなみに件の言語ってこんなのです。

Racket (旧称 PLT Scheme) は、Schemeから派生したプログラミング言語である。Racket プロジェクトは以下の4つから構成されている。

1. スクリプト処理系、Racket (リッチなランタイムシステム, 豊富なライブラリ, JITコンパイラ などが含まれる)
2. Racketプログラムの開発環境、DrRacket (旧称 DrScheme)
3. コンピューティングとプログラミングを"教養教育カリキュラムの必須分野にする"試み ProgramByDesignアウトリーチ・プログラム。
4. Racketのユーザ作成パッケージの配布システム PLaneT。

まあ、Scheme系言語です。教育用プログラミングだから安心っていろんなところで説明してるけども、「ほんとに?」ってのが正直な感想。

公式
racket-lang.org


この辺が初心者向け教材とか言われているけども僕はよく知らない。

Realm of Racket: Learn to Program, One Game at a Time!

Realm of Racket: Learn to Program, One Game at a Time!

  • 作者: Matthias Felleisen,Conrad Barski,David Van Horn,Eight Students of Northeastern University
  • 出版社/メーカー: No Starch Press
  • 発売日: 2013/06/13
  • メディア: ペーパーバック
  • この商品を含むブログを見る
※ イラスト多めだけど普通にアメリカ語です。


てなわけで触ってみる

まあ、何も触らないで特徴はこうだって言ってもよくわかんないのでとりあえず触ってみることにします。まずはインストールします。
Racket

そしてDrRacketを起動します。
f:id:andron:20181111095009p:plain


起動できたら、おもむろにいつもの月曜日判定機でもつくります。

#lang racket
(require racket/date)

(if
 (= 1 (date-week-day (current-date)))
 (display "Today is Monday")
 null
)

実行結果

Today is Monday

多分こんな感じでいけると思う。実際のところ雰囲気で書いているから良い感じなのかよくわからない。current-dateがデフォルトであったおかげでなんとか短くすんだ。というかノリで実装はじめるんじゃなくて、はじめは文法から見るべきでしたね……。

まあいいや。とりあえず参考リファレンス貼っておく
The Racket Reference


てなわけでして、実行結果通り今週も月曜がはじまったわけですよ。令和だからとかバカなこと言って Racket っている場合ではなかったのです。もっと実益のあることをすべきだった……。


おわり