記事一覧
Monkey言語:冪乗の二項演算子"^"実装
目標「2^3」のような冪乗の演算をMonkey言語に実装する.
字句解析トークンの定義
token/token.go にHAT = `^`を追加.(p.4)
const ( ILLEGAL = "ILLEGAL" //トークンや文字が未知であることを示す EOF = "EOF" //識別子,リテラル IDENT = "IDENT" //関数や変数など INT = "INT"
Blocklyで変数ブロックを作成
目標ブロックで変数宣言,代入を可能にする.
実装実装はすぐに終わる.
Toolboxに次のコードを挿入するだけ.
<category name="Variables" colour="330" custom="VARIABLE"></category>
結果
注意点VSCodeのプレビュー機能にてindex.htmlを開くと,Create variableを押しても変数を作成出来ない.
CodePenを使わずにブロック追加
前回の記事前回は,ひとまずBlocklyが動かせるか確認するために基本的な動きを確認した.ただ,ここからは実装の都合上CodePenを使わないこととする.
CodePenのメリットとしては,index.htmlの結果を見ながら出来る,共有が楽というものであったが,VScodeのプレビューを使用すれば前者は問題ないし,共有もGitHubで十分である.ブラウザであるCodePenで行うとローカルの
Blocklyで独自言語のピースを作成(心機一転):失敗
前回までの流れこんな感じでやってきたけど,GitHubから持ってきたものの中にサイトで指定されてたパスがないわ,ブラウザから手元のファイルを上手く使えないわで躓いたので,心機一転,やり直す.
とは言っても,少し同じ作業はあるので,その部分は短くする.
今回の目標自分で設計した言語に合わせてBlocklyで置くことができるブロックを変更していく.
一旦は,"play(60, 0.5);" のよ
Blocklyで独自言語のピースを作成1:手法変更につき中断
前回の記事前回は,ひとまずBlocklyが動かせるか確認するために基本的な動きを確認した.
今回の目標自分で設計した言語に合わせてBlocklyで置くことができるブロックを変更していく.
一旦は,"play(60, 0.5);" のようにplay関数を表現できるようなものを作成.
ブロック作成このサイトを一旦参考にしてみる.
Blockly Developer Toolsを使用するらしい.
MacBook AirでBlocklyの使用
目的自作のプログラミング言語をビジュアルプログラミング言語にしたい.ひとまず導入や簡単な操作確認を行う.
無料で Web アプリの画面 (フロントエンド) を作れるサービス CodePen と、JavaScript のライブラリーを配信している CDN の JsDelivr を使って、Blockly を動かす.
環境Apple M1: メモリ8GB
Ventura 13.5
Google
DiscordにMusicGenのbotを導入(失敗)
目標タイトル通り,DiscordのチャンネルにMusicGenのbotを導入し,DiscordからMusicGenを使えるようにする.
参考公式でやり方は載せてくれているので,これに則りながら進めつつ,わからないところを補強していく.
Prerequisites(前提条件)Python 3.9.6
Terminal on Mac(M1: 8GB)
macOS Ventura 13.5
UnityのプロジェクトをGitHub, SourceTreeで管理
目的UnityのプロジェクトをGitHubとSourceTreeで管理しようとしたらアクセス周りの話で色々問題が発生したので,対処法のメモ.
現状やったことリポジトリの作成
Unityでプロジェクトを作成(中身の変更はなし)
Unityでignoreするとよいらしいものをまとめた.gitignoreをダウンロード
SourceTreeにGitHubのアカウント追加
問題SSHキーがうまく
Go言語のhttpパッケージ周りについて整理
背景この記事で静的ファイルサーブをすることになったが,普通に
localhost:8080
を開くのと同時にやる方法がわからなかったから整理する.
localhost:8080開くだけのコードpackage main import ( "log" "net/http") func main() { port := "8080" http.Handle("/", http.FileServer(h
XMLHttpRequestでブラウザからローカルファイルにアクセスしようとしたけど無理だった
背景この記事で,ブラウザから,ローカルにあるテキストファイルを読み込む必要がでたので,XMLHttpRequestを使って実現しようとした.
行ったことこの記事の「読み込みのみなら」という部分に着目し,manifest.jsonを作ってやってみようと思う.
HTMLファイルと同じ階層に作ればよいらしいのでdocsフォルダに作ることになる.
ファイル構成 (+ manifet.json)
├─
Go言語:ファイル入出力
環境・macOS Big Sur ver. 12.6 (21G115)
・MacBook Air M1, 2020 メモリ 8GB
・go1.18.3 darwin/arm64
目標main.goを実行したら指定したテキストファイルを初期化(白紙化)し,ある関数(play)を実行するとそのテキストファイルに文字列を書き込み,webassembly.goでそのテキストファイルを読み込む.
ファイ