https://github.com/hiyoki/guessing_game-rust
次はここから。
数あてゲーム ループ
match文
シャドーイング
parse() [文字列を任意の数値型に変換する]
trim() [前後の空白、改行文字を削除する]
シャドーイングで変数の上書きみたいなことを実現している。
回りくどい感があるけど、あまり多用しないように書けってことかな。
iti
PHP/Android/MySql/Postgres/Go
https://github.com/hiyoki/guessing_game-rust
次はここから。
数あてゲーム ループ
match文
シャドーイング
parse() [文字列を任意の数値型に変換する]
trim() [前後の空白、改行文字を削除する]
シャドーイングで変数の上書きみたいなことを実現している。
回りくどい感があるけど、あまり多用しないように書けってことかな。
iti
2018年はRustとJavaScriptの年にするとしたので
ちょっと先行してRustを始めることにした。
とりあえず、公式ドキュメント読みつつ、チュートリアルも充実しているので、
それを使って学習する。
ひととおりチュートリアルやって、なにか作るところまではやる。
公式
https://www.rust-lang.org/ja-JP/
チュートリアルの日本語訳
http://rust-lang-ja.github.io/the-rust-programming-language-ja/1.6/book/README.html
とりあえず、hello worldから。
iti
いつも書くものをめんどくさいので、まとめた。
といってもまとめたのは以下だけ。
あとは適当に必要なものを設定してmakeすればOK。
https://github.com/hiyoki/php-composer-app-base
いつも作ろう作ろうと思って忘れていたやつ。
iti
Echoのサンプルでindexとかが出てきて?となったので、
挙動を確認してみた。
https://github.com/hiyoki/study_go/commit/6d5bbae0acf7fcfa5c435215a605b50172b5fd2b
なんとなくふと思い立って懐かしくなり書いてみた。
とくに意味はありません。
package main
import (
"fmt"
)
func main() {
for i := 1; i < 100; i++ {
if i%15 == 0 {
fmt.Println("fizz buzz")
} else if i%5 == 0 {
fmt.Println("buzz")
} else if i%3 == 0 {
fmt.Println("fizz")
} else {
fmt.Println(i)
}
}
}
ソースはこちら
エクササイズを参考に。
その1
package main
import (
"fmt"
"os"
)
func main() {
var s, sep string
for i := 1; i < len(os.Args); i++ {
s += sep + os.Args[i]
sep = " "
}
fmt.Println(s)
}
ソースはこちら
その2
package main
import (
"fmt"
"os"
)
func main() {
s, sep := "", ""
for _, arg := range os.Args[1:] {
s += sep + arg
sep = " "
}
fmt.Println(s)
}
ソースはこちら
ほぼ写経。
最近PHPばっかりだったから新鮮で面白い。
iti
最近のはやりに乗っかってみた。
とりあえず見よう見まねでSEGV起こるように書いてみた。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char *buf;
fgets(buf, 1024, stdin);
printf("%s\n", buf);
return 1;
}
これでコンパイルして実行して標準入力に適当に何か入れると怒られる。
面白い。
それにしても簡単に起こせるな。。
goで環境変数の設定と取得方法。
package main
import (
"fmt"
"os"
)
func main() {
// env set
os.Setenv("HOGE", "hogehoge")
// env get
hoge := os.Getenv("HOGE")
// == "hogehoge"
fmt.Println(hoge)
// show env list
for _, e := range os.Environ() {
fmt.Println(e)
}
}
とても簡単。
ソースはこちら。
https://github.com/hiyoki/study_go/blob/master/env_sample.go
goqueryを使ってスクレイピング。
jqueryライクに書けるので簡単でした。
ちょっと書いてみた。
qiitaの検索結果を取得してくるだけのやつ。
他にもスクレイピングのライブラリがいくつかあるみたいなので試してみる予定。
iti
imports周りは基本省略されているので、随時拾っていく必要がある。
しれっと出てくる objx は以下のこと
“github.com/stretchr/objx”