新しいものを表示

参考資料(?><;)

街角エラー画面コレクション第2回 エラー画面70枚、勢揃い :: デイリーポータルZ dailyportalz.jp/kiji/140724164

架空の環境の日時の型.ToString()
ってあったとして、
デジタル時計作るぞ!><ってして、"この日時は範囲外です"(日本語)って文字列が返って来て、フォントが無くて豆腐が表示されて、それで最後まで運良く(運悪く)例外が出なかったとして、うれしい?><
うれしいかは主観だけど時計として正しい?><;

オレンジが全然理解できてなくておかしな考えになってる気がしてるけどでも思ったことそのまま書くと、
「動的型付け環境ならむちゃくちゃなものを投げても処理してくれる(ので柔軟性がある)」って主張に近いものを感じた><(感想)

いまいちよくわからないけど、例外握りつぶすんじゃダメなの?><(?><;)

orange さんがブースト
orange さんがブースト

例外安全と例外中立 - Qiita qiita.com/Kokudori/items/98707
を読みながら、例外で副作用が発生してもそれを綺麗にロールバックしてエラー値を返す関数があれば、その関数の中で例外が起きようとその関数自体に例外による副作用はないかしら、とか。

本題では無く例示で出したの1+"hoge"の話はこれです><

動的型言語のふわふわ感 - Togetter togetter.com/li/163331

string GetDivideByXinString(int x)
ってxで割った結果を文字列で返すやつ(命名の英語まともかはわからない><;)があったとして、それは副作用があると判断すべきか否か><;

C# のトンデモ本は知らないけど、Javaのトンデモ本は定期的に出て話題になっておもちゃになってる気がする><;

(別の話題)
hogehogeの技術書を(どれでもいいから)読むって課題、トンデモ本を踏むリスクありそう><

よくわからないになったけど、toInt() toString()は、架空の環境のそれぞれ、整数にしたやつ返すやつ、文字列にして返すやつ という一般化した話ではなく、
「何らかの特定の環境(Rust?><)の実際にその名前の関数の実際の仕様がそうだ」に限りまくった話かも?><;

orange さんがブースト

0除算エラーもよくやらかすww あれも副作用(泣)

orange さんがブースト

hoge.toString()の toString()は ほとんど を文字列として出力することができるので、副作用がないと判断してます!
(Rust言語だと、 debugを実装してないとエラーになるんだけど、これはコンパイラが事前にチェックするので副作用になれない)

一応、これをわざわざ説明しなくてもいい人が議論してる前提での例示><;

スレッドを表示

(一応><)
例えで出した、動的型付け云々の 1+"hoge" は、リテラルをどういう型に解釈するのか?と、異なる型(あるいは同一の型)同士のある演算子による演算結果をなにで返すかって話であって、それは動的に型を決めるのと静的に型検査するかと言うことには直接は関係ない><

orange さんがブースト

例外は値を返さないというのがありまして、
.toInt()は数字を返す期待をされるのに対して、toInt()で例外が発生すると値を返さなくなるので参照透過性が失われるので副作用があることが認められるのさー

スレッドを表示
orange さんがブースト

単に要求された型の範囲で返せるか返せないかってだけの話であってそれ副作用の有無と全く関係ないよねたぶん?><;

と言うことは、さっき書いた動的型付けの議論の例示の 1+"hoge" の話と全く同じ?><;

hoge.toInt()は、hogeの状態に依存するから副作用があるって主張だよね?>< たぶん><
hoge.toString()もhogeの状態に依存するよね?><;

古いものを表示
:realtek:

思考の /dev/null