Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

文字列結合のブロックを可変長にしてはどうか #23

Open
maimai8 opened this issue Mar 29, 2019 · 1 comment
Open

文字列結合のブロックを可変長にしてはどうか #23

maimai8 opened this issue Mar 29, 2019 · 1 comment

Comments

@maimai8
Copy link

maimai8 commented Mar 29, 2019

現在は、文字列結合を行うブロックは、2つの文字列を結合するものに限られていて、3つ以上の文字列を結合したいときには、文字列結合のブロックを入れ子にする必要があります。

そこで、

type ekimei_t = {kanji : string; kana : string; romaji : string; ken : string; shozoku : string}
let hyoji eki = match eki with
  | {kanji = a; kana = b; romaji = c; ken = d; shozoku = e} -> d ^ ":" ^ e ^ "," ^ a ^ "(" ^ b ^ ")"

上のようにekimei_t型の駅情報を文字列にする関数を定義してみたところ次のようになりました。
スクリーンショット 2019-03-29 14 52 29

入れ子が複雑になると可読性?が落ちる気がするので、リスト構造のように可変長ブロックにしてはどうでしょうか。(結合法則の仕組み等の問題が発生するのでしょうか。)

(日本語で失礼しました。)

@harukamm
Copy link
Owner

こんちは、ありがとうございます!

ウワーこれはたしかにひどいです。
もともとブロックの形が適当なので、可読性がひどいのはもともとですがもっとひどいですね。

可変長のブロックを用意しておくの良いと思います。デフォルトで左結合ということにしておけば、思い違いも起きなそうだと思います。
ただ、歯車アイコンの説明がないと、その機能に気づきにくそうではあります。

でも画像を見る限りひどいので、可変長ブロック追加には賛成です。
(31日まで手元にPCがないので実装は遅れそうです。。)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants