タイトル | : Re^5: Ayacyさんへ |
投稿日 | : 2010/02/21(Sun) 00:41:05 |
投稿者 | : Ayacy |
とりあえず、一カ所ご回答をしたいと思います。
-----
// 自分の環境(Windows 2000 SP 4)で以下の関数を実行すると
// iniNumKey("Control.ini", "Don't Load")
// 0を返します。
// iniNumKey("Control.ini", "Don\'t Load")
// でも結果は同じです。
-----
R-Scriptの「文字列」に関するルールは、こちらにあるとおりです。
http://www.yoshibaworks.com/ayacy/inasoft/webhelp/fd.cgi?R043
ダブルコーテーション(") 内では、シングルコーテーション(')が自由に登場することができます。
また、R-Scriptの「エスケープシーケンス」のルールとして、\' を ' として解釈するというものもあります。
このため、"Don't Load" と "Don\'t Load" は同じ文字列を意味します。
なお、シングルコーテーションによる文字列ルールもあり、それは上記と同じようなルールとなっています。
(シングルコーテーション(') 内では、ダブルコーテーション(")が自由に登場することができます。
また、R-Scriptの「エスケープシーケンス」のルールとして、\" を " として解釈するというものもあります。
このため、'Don"t Load' と 'Don\"t Load' は同じ文字列を意味します。)
で、ここで重要なのは、ダブルコーテーション(") 内でダブルコーテーション(") を登場させたり、
シングルコーテーション(') 内でシングルコーテーション(') を登場させたりする場合の注意です。
単純に書くことはできず、エスケープシーケンスを使わなければなりません。
すなわち、"Don"t Load" とは書けず、 "Don\"t Load" と書かなければなりません。
また、'Don't Load' とは書けず、 'Don\'t Load' と書かなければなりません。
これは、C言語のルールとほぼ同じ(C言語ではシングルコーテーション(')は文字列でなくて文字ですが)ですね。
……なわけで、2つの文字を書いても結果は同じなのですが、
キー内のセクション数が0になる件は、ちょっと調査してみます。