I was practicing some interview questions where I found this. I had a look at perldoc -f tie
but couldn't get it. I know about bless
and is using in my programs.
Can anyone tell me what is tie
and how it is related and different from bless
, and its usage? I will appreciate any simple example.
PS: I am a perl developer and using it in day to day life. My concern is not for interview, but for knowing it
2 に答える
インタビューの質問には、おそらく次のように答えるでしょう。
Tie と Bless は、カスタム動作を変数に関連付けるという点で、同様の機能を果たします。違いは焦点の点にあります -tie
は「標準」データ構造に新しい動作を追加することであり、bless
は「新しい」データ構造を完全に作成することです。
tie
したがって、使用しているデータ型の基本的な操作に限定されますbless
。ed データ構造には、ほぼ無限の可能性があります。しかし、トレードオフは、tie
ed 変数がドロップイン置換として機能できることです。「ハッシュ」をtie
ファイルまたはデータベースに ing して拡張すると、コードの修正を必要とせずに同じように機能できます。
この長所は、多くの点で短所でもあります。将来のプログラマーがオブジェクトやコード内のメソッド呼び出しに直面した場合、何が起こっているのかを理解するにはクラスに目を向ける必要があることを理解するでしょう。ハッシュ (またはスカラー) は「特別なこと」を行っています。
したがって、スタイルの問題としてtie
、診断およびテストの役割のために予約する必要があることをお勧めします。ハッシュで値が変更されたときにログに記録すると便利ですが、予期しない動作をさせるために使用しないでください。