«前の日記(2004-11-30 (火)) 最新 次の日記(2004-12-02 (木))» 編集
にっき
Google
2003|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|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|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|10|12|
2015|01|12|
2016|01|12|
2017|01|12|
2018|01|12|
2019|01|12|
2020|01|12|
2021|01|
2022|01|
2023|01|
2024|01|

2004-12-01 (水) [長年日記]

_ nkfのバージョン

NKF::NKF_VERSIONを使ったほうがいいのではないかと。

NKF::VERSION のことですね。私の環境(Debian sarge)だと、以下のようになります。

$ ruby1.8 -rnkf -e 'p NKF::VERSION'
"2.0.4.1r1"
$ ruby1.6 -rnkf -e 'p NKF::VERSION'
"1.6.8"

NKF::VERSION って、マニュアルには書いてないんですが、使っちゃって大丈夫なんでしょうか。

使っていいなら、このコードは以下のように書いたほうがスマートですね。

begin
  require 'uconv'
  # Uconv が存在する場合の処理
rescue LoadError
  require 'nkf'
  if NKF::VERSION > "2" then
    # nkf2 が存在する場合の処理
  else
    # nkf が古い場合の処理
  end
end

追記なかださんとこによると、ruby1.6 の NKF::VERSION は ruby のバージョンらしい。ダメじゃん。

$ ruby1.6 -e 'p ::VERSION'
"1.6.8"

っていうか、ruby1.8 が NKF::VERSION を nkf のバージョンに書き換えてるのが問題あるような。

_ 同盟活動

チーズグラコロ×1。

_ NKF::UTF8の有無で分岐する方がいいと思いますよ

おおっ、なるほど。何でいままで気付かなかったんだろう(笑)。

begin
  require 'uconv'
  # Uconv が存在する場合の処理
rescue LoadError
  require 'nkf'
  if defined?(NKF::UTF8) then
    # nkf2 が存在する場合の処理
  else
    # nkf が古い場合の処理
  end
end

これで完璧だろうか。

_ ソースネクスト、PDF・FlashPaper作成ツールを1,980円で販売

ほう、Macromedia の製品なのか。ちょっといいかも。

_ 今日のアニメ

ドラゴンボールZ#245
スーパーサイヤ人3になった悟空が、時間稼ぎのため魔人ブウと戦う。
彼氏彼女の事情#26
最終回。
本日のツッコミ(全2件) [ツッコミを入れる]
_ なかだ (2004-12-01 (水) 12:15)

マニュアルはいまだに1.7用ですから。

_ TrackBack (2004-12-01 (水) 12:16)

http://nokada.jin.gr.jp/t/20041201.html#p01<br>A Strolling Programmer<br>[ruby] NKF_VERSION<br><br>あれ? と思って調べてみると。 $ ruby-1.8.2 -rnkf -e 'p NKF::VERSION' "2.0.4.1r1" $ ruby-1.8.2 -rnkf -e 'p NKF::NKF_VERSION' -e:1: uninitialized constant NKF::NKF_VERSION (NameError) $ ruby-1.9.0 -rnkf -e 'p NKF::NKF_VERSION' "2.0.4" $ ruby-1.9.0 -rnkf -..


«前の日記(2004-11-30 (火)) 最新 次の日記(2004-12-02 (木))» 編集