高橋:少しずつ断熱性能の基準を高める動きが出てきてはいるのですが、まだ十分とはいえません。2025年に最低基準として義務化される断熱等級4でも、他の国では断熱性が低すぎて建てることができない、要するに違法建築レベルなんですよ。
――なぜ日本の断熱基準(※)はこんなにも低いのでしょうか?
高橋:いくつか要因がありますが、行政が、住む人の健康や幸せよりも、住宅・建築業界団体の利益や都合を優先してルールを作ってきたという面があります。特に、新築着工数を上げることが大事とされる中で、個々の住宅の質については問われることがありませんでした。断熱基準を高めると建築コストが上がってしまうということもあったでしょう。
また、住宅の場合、輸出をしないので国際競争力が働かず、業界共通の物差しがなかったことも、基準が低い原因だったのではないかと分析しています。自動車の燃費性能や家電の省エネ性能のようなものが、住宅には統一した基準として表示されていませんでした。
※ 2024年4月からは住宅・建築物を販売・賃貸する事業者に、省エネ性能ラベルの表示することが努力義務となった
⇧ 住宅施工に関しては、「Japan Quality」の欠片も無い感じで誠に遺憾ですな...
哀しいですが、お金が全てということですか...
「列挙型(Enumerated Type)」とは
Wikipediaによると、
列挙型(れっきょがた、enumerated typeあるいはenumeration type)とは、コンピュータプログラミングにおいて、プログラマが選んだ各々の識別子(列挙子)をそのまま有限集合として持つ抽象データ型である。
各々の識別子は通例異なる整数値を持つが、複数の識別子に対して意図的に同じ整数値を割り当てる(つまり別名を定義する)ことも可能である。
⇧ とありますと。
列挙型の定数は同じ列挙型の変数にしか代入できない(整数型の変数に代入するには明示的な型変換などが必要)という仕様になっている言語もある。
⇧ まぁ、定数の集合体って感じですかね。
定数とは
Wikipediaによると、
⇧「定数(プログラミング)」が該当しそうなので、遷移先のページを確認。
プログラミングにおいて定数(「ていすう」または「じょうすう」、英: constant)とは、変数同様プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。
⇧ とあり、「一度設定した値は変更不可」でありますと。
Rubyに「列挙型(Enumerated Type)」は無く、定数も更新可能という仕様に震える...
で、何やら、
という事実に震えている...
■1. Rubyには「列挙型(Enumerated Type)」が存在しない
ネットの情報によりますと、
⇧ 兎に角、Rubyには「列挙型(Enumerated Type)」が用意されていないらしい。
Wikipediaだと、
⇧ moduleを利用した実装例が紹介されている。
■2. Rubyで定数は更新可能である
公式のドキュメントによると、
https://docs.ruby-lang.org/ja/latest/doc/spec=2fvariables.html
https://docs.ruby-lang.org/ja/latest/doc/spec=2fvariables.html
⇧ とあり、「定数が更新不可能になっていない」ことについては言及されていない...
ネットの情報によりますと、
まとめ
Rubyの定数は、書き換えられるようになっている。
定数は、同じオブジェクト(同じオブジェクトID)を指すことを意味する。
ただし、定数を書き換える、書き換えないはあくまで紳士協定に基づく。
moduleそのものをfreezeするとその中の定数の参照先をfreezeできる。
全てfreezeをつけると定数を変更不可にできるが、Rubyの思想としては、全ての箇所にfreezeをつけるのは固い発想で「freezeを全部つけなくても、紳士協定でやろう」というのがRubyっぽい感じ。
⇧ 上記サイト様によりますと、
『全てfreezeをつけると定数を変更不可にできる』
とのことらしい。
『Rubyの思想としては、全ての箇所にfreezeをつけるのは固い発想で「freezeを全部つけなくても、紳士協定でやろう」というのがRubyっぽい感じ。』
うむ、バグの温床になりそうな予感しかしない。
いやはや、ソフトウェア開発で「Ruby」を選択するのは勇気が要りますな...
仕事で不可避とは言え、「Ruby」に関わりたくないなぁ...
毎度モヤモヤ感が半端ない…
今回はこのへんで。