一部のシステムでは、次のようにしてIPアドレス(192.68.mn形式)を取得できます。
addr = IPSocket::getAddress(Socket.gethostname())
...問題は、ローカルマシンがそれ自体に使用する名前が、DNSサーバーがそれに関連付ける名前である場合にのみ機能することです。
ルビーがプライマリインターフェイスのIPアドレスを返すのはどのように難しいのでしょうか?プラットフォームに依存しない方法でこれを行う必要があります。そうでない場合は、ifconfigまたはipconfigを呼び出して解析します。