まあ、何を研究しているかと言うと、何のアプリを作っているか判っちゃうことがありますが、、、
画面上にスイッチを配置して1桁ずつ、数字を入力するアプリを研究している訳ですが、
これを実現するには、私が研究した限りでは文字列を使うしか無く、昨日の昼の時点では随時、文字列→数値変換していたのですが、、
”0ー” を数字変換するとエラーを吐く訳です。
同じように
”0.”を数字変換するとエラーを吐く訳です。
浮動小数点でマイナス表示は問題なく出来ました、これは参考にしたサイトの情報が誤りか、情報が不十分だったと言う事です。
今回、文字列を浮動小数点の数値に変換して、途中計算をしているのですが、計算結果がおかしくて別の方法で補正をする必要があります。
たまに、おおよそ2.2という計算結果が出る訳です。
2.19999879 とかいう数字が、、、
単純なアプリでそんな答えは求めていませんし、しかも間違っている訳です。
おおよそ2.2でなくて2.2が正解、、、
人間が暗算出来るくらいの計算も出来ない、ミスる、、そういうことがたまにある訳です。
そういう物に遭遇したら目の当たりにしたら、その不具合を潰さないと、
この手のことは、目をつぶって見なかったことにしても、後々、事が大きくなって帰ってくるだけです。
出来たということは、その瞬間であれば再現出来るということです。
再現出来ることは潰す、、、それが基本です。
計算とかは、IPhoneに任せるのでその結果がおかしな数字が出ないように加工して計算する、、
そういう対応が必要な訳です。
本来は、計算結果が間違っているのですが、それをとやかく言っても始まらない訳です。
これは余分な仕事ですが、、、
それ以外にも、
通常電卓とかは、0が待機状態です。
その0を文字列にして後から1、2と追加すると
”012”となります。
意味は通じますが、それは一般的な書き方ではありません。
先頭の0は余分、、省略しなければなりません。
こういう事が気遣いです。
文字列を扱うときは如何にこういう気遣いが出来るか、例外処理を差し込み処置するかが重要になります。
また、それを行うことでアプリの堅牢性が高まります。
標準のキーボードを表示させ自由に文字を選ばせた日には、、、
音声合成アプリで、与えた文字列をしゃべるアプリで、😛や🐞を差し込まれた日には、、、
IPhoneのシステム側がスルーしてくれれば良いですが、確証は取れますか?
クラッシュしないことの確認は取りましたか?
ーーー
ユーザーに余計なことをさせない、行動範囲を限定してそれ以外のことを出来ないようにしないと、、、
いつでもクラッシュが起こり得るアプリ、、、
そしてクラッシュするのを知らないのは本人ばかりとか、、「よくクラッシュするのでクソ」とか書かれても、対応のしようが無い訳です。
ノーヒントでクラッシュする可能性を潰すのは不可能です。
少なくとも、2、3日で対処出来ない、、、案件です。
プログラマーが治せる不具合は再現出来る不具合だけです。
そういう意味では、自由度の高いアプリより自由を制限されたアプリの方がより堅牢性が高く安全な訳です。
デバッカーは性善説では無く、性悪説で動かないといけません。
アプリをクラッシュさせるつもりで、アプリの仕様上の隙を突かないと、、、
そのアプリの仕様上の隙を穴を如何に見つけ出して塞ぐか、、、
店の入り口から入って、汚いと思われたら終わりな訳です。
せめて、お客さんから見えるところは清潔にしておかないと、、、
これは最低条件、、、聞いた話ではトイレでその店が判ると言います。
普段目にしていないところまで、気を回しているか、、
まあ、そこまでしても売れないものは売れない訳ですが、売るための最低限の条件をクリアしなければ、売れるものも売れません。
そしてお客さんが切り捨てたものを理解しているか、、、
ブームだからと、牛丼屋がラーメンを提供するのは違う訳です。
提供する料理の幅を狭め、専門店かする、、、
そういう特化したものしか現実には受け入れられない訳です。
後発のメーカー、アプリは専門性を売りにするしか勝利の道はありません。
現実、何でも美味しいは店では提供出来ない訳です。
新規参入の店が、、、シェフみずから営業日全てに顔を出して調理するのなら兎も角、バイトを使っていては、、、
専門店ならバイト教育も安く済みます。
何でもを求めるから、何にも美味しく無い訳です。
普通、本当に普通じゃ売れませんからね!
妥当な味で妥当な金額、、誰もが美味しいと感じる普通が一番良くても、それは食べてもらって、選んでもらってからの話、、、
選んでもらえないんじゃ、普通の意味はありません。
本当の意味で、「普通」は売れないんです。
ーーー
追記
Float64なんて使うもんじゃ無いです。
0.1+0.2 くらいの単純な計算に、、、
本体のアルゴリズムがおかしいのか、約0.3という回答しか来ません。
大は小を兼ねる、、失敗でした。