Direcordの開発ログ
from Direcord
Direcordの開発ログ
18:10 ~ 18:13
目標を立てる。
17:17 ~ 18:14
「ファイルへある文字列を出力する。」を達成する。
あれ〜〜意外と外部ファイル出力に関する記述がチュートリアルにない
開発ログ、最初思ったことをそのまま書き出して、その後代名詞などを詳細に説明していくという方法が向いている。
この過程を取り込めないか...?
What, Where/When, How,
まあとりあえずあとで決める。
open - Rust By Example 日本語版を調べてみる。
とりあえずまずは模倣して書いてみよう。
create - Rust By Example 日本語版
20:34 ~
Rustのcreate関数のサンプルを写経してみる。
学習用ファイルへの整理
bin/studyフォルダを作って、
Binary targetsとして実行できるように。
あれ、bin直下じゃないとだめなのか
ダメってことはなかった。
けど、複数ファイルによる実行が前提となる。
Binary targets#642d5e3dd3fe6100009fdf93
binに作る。
写経しなくてもいいか
方法さえわかればそれでいい
? - Rust By Example
「ファイルへある文字列を出力する」達成。
code:open.rs
use std::io::Write;
use std::path::Path;
use std::fs::File;
fn main()-> Result<(), Box<dyn std::error::Error>>{
let path = Path::new("hello.txt");
let mut file = File::create(&path)?;
let sentence = "タスク";
file.write_all(sentence.as_bytes())?;
Ok(())
}
21:00 - 21:26
iPadを使ってマルチディスプレイにして、もっと画面を見やすくした。
ScrapboxがiPadに見える!キーボードで操作できてる!!
21:26 - 22:19
Direcord#642d3ad0d3fe6100007da64e 日付をstdoutへ出力する。
どうやって日付を出す?
期間と計算 - Rust Cookbook
む、Instantではそもそも時刻表示は取り出せないのか...。
時刻のパースと表示 - Rust Cookbook
chrono - crates.io: Rust Package Registry
どうやってLocalTimeを出力するんだ
chrono::Local::nowでローカルタイムを出力(DateTime<Local>型)
さらに、そのメソッドformatを使えば好きなように時刻表示できる。
https://gyazo.com/c44a80b5e8238ebce4cad3f7e58dd561
よしいけた。
#issue タイムゾーンがわかる書き方で保存したい
それをしてくれるメソッドがないだろうか?
入力と日時を合成した文字列をファイルへ出力する。
入力を取るためにはSystem.envが必要...。
とりあえず今回は空白を無視して繋げていこう。
#2023-04-05
今日の目標
p.icon 20:30 22:10
21:30: 修正
「入力と日時をファイルへ追記する。」までを完成させる。
入力と日時を合成した文字列をファイルへ出力する。
日時をstdoutへ出力する。
22:02 - 22:16; interrupt
22:16 - 22:24; 終了。
20:00; interrupt
「入力と日時をファイルへ追記する。」までを完成させる。
19:45に目標見直し
19:45; 先に風呂入る
次
目標
Direcordの開発ログ#642d7547d3fe6100008f463c
21:29 - 21:45
入力と日時を合成した文字列をファイルへ出力する。
できた。
関数の構成を変えて、テスト可能性を作り出した。
参照透過性を作る。
fn create_row(posted: DateTime<Local>, content: &str) -> String;
fn write_file(path:&Path, data:&str) -> MaybeFail;
type MaybeFail = Result<(), Box<dyn std::error::Error>>;を作り出して、コードの見通しをよくした。
21:45 - 22:10
developブランチを付け加えるなど。
main直書きはまずい。
Git運用ルールはGitHub Flowで行う。