@port = port if( !port.nil? ) の解釈で質問です。

最初の@はインスタンス変数で、右辺のifは修飾子だと思うのですが、
()内の「?」の意味が分かりません。

これがは文字コードリテラルとは思えませんし・・・
どういう意味(役割り)なのでしょうか?