トップ «前の日記(2017-12-18) 最新 次の日記(2017-12-21)» 編集

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|

2017-12-18 [長年日記]

_ [SAD]インスタンス変数の初期値にUndefinedが使えない

クラス定義で、Undefinedを初期値にしたインスタンス変数を定義すると、当該変数は初期化されない

Packages/Class.nの内部実装で、未定義時の特異値としてUndefinedを使っている模様

_ [SAD]クラス変数にSetDelayedで定数式でない式を定義すると動かない

クラス変数に束縛される式が、Holdに入った状態になる

A = Class[{}, {expr := non-const-expr}, {}, ];
a = A[];
Print[a@expr];
! Hold[non-const-expr]が返る

定数式の場合は、問題ないので、Pacakges/Class.nでの定義展開の問題と思われる

_ [SAD]poll(2) + listen socket覚書

listen socketがreadyになると、POLLINになるがioctl(2)のFIONREADに対しては0を返すので、PollUnit[]やSelectUnit[]の戻り値は、イベント無しのNullからEndOfFileに変わる

戻り値検査が面倒なので、NetworkIO/API 1.003以降の環境で有れば、SelectUnit/PollUnitから起床したらTCPAcceptをnon-blockingで回してしまう方が簡単である


カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記