fdpl_memo0006
の編集
https://k.osask.jp/klog/?fdpl_memo0006
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
2012_0001
2013_0001
2013_0002
2013_0003
2014_0001
2015_0001
2016_07
2016_08
2016_09
2016_10
2016_11
2017_01
2017_02
2017_03
2017_04
2017_05
2018_01
2019_01
BracketName
FormattingRules
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
K
KH_SARC_00
KH_dha8
MenuBar
PHP
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
SandBox
VC_install
WikiEngines
WikiName
WikiWikiWeb
YukiWiki
fdpl_memo0001
fdpl_memo0002
fdpl_memo0003
fdpl_memo0004
fdpl_memo0005
fdpl_memo0006
fdpl_memo0007
fdpl_memo0008
fdpl_memo0009
fdpl_memo0010
gg02_0004
gg02_0005
gg02_0006
gg02_0007
gg02_0008
gg02_0009
https
impressions
memo0001
memo0002
oisix01
osaskology
osaskology0
osecpu_0001
osecpu_0002
p20200229a
p20200303a
p20200310a
p20200321a
p20200401a
p20200730a
p20201230a
p20220628a
p20220701a
populars
prog_0001
prog_0002
prog_0003
prog_0004
prog_0005
* KH-FDPL に関するメモ-0006 -(by [[K]], 2015.02.16) ** KH-FDPLの特徴(2) - オブジェクト(変数)の名前空間・型 -(2-1) KH-FDPLではすべてのオブジェクトに名前が付きます。変数名やメンバ名だと思うと分かりやすいと思います。 -(2-2) オブジェクト名とメンバ名を区切るのは「.」です。KH-FDPLではファイルの代わりもオブジェクトが担うので、スラッシュ区切りも検討しましたが、とりあえずはピリオドで区切ります。 --しかしこのような仕様については、ユーザが自由に拡張できます。これは(4)で書きます。 -(2-3) KH-FDPLでは、任意のオブジェクトに対して、いくらでもメンバを追加したり削ったりすることができます。もちろんプログラムの実行中に、プログラムからできます(そういう命令群がある)。ただし同じ階層でのメンバ名の重複は許されません。 --C++などでいうところの「クラス」という概念がないので、このオブジェクトは○○クラスに属するので、○○メンバを必ず持つ必要がある、みたいなことは記述できません。 --イメージとしては、フォルダにファイルをいつでも追加したり削除した入りできるのと同じです。 -(2-4) オブジェクトは基本的にフォルダとして内部表現されることになります。 --メンバ名は英数字以外にも使えて、内部ではメンバ名でソートされて管理されます。メンバ名を指定してメンバにアクセスできるほかに、「ソート順でi番目のメンバ」みたいな方法でもメンバを指定できます。これができるからこそ、全メンバの列挙なども可能になります。 --配列もメンバ名が「int32型の整数値」になっているだけで、結局は同じ仕組みで管理されています。したがって添え字が負になったり、値が飛び飛びになっていたりしても問題ありません。 -(2-5) オブジェクト変数は型を持ちません。値が型を持ちます。iはint32型の変数だから整数値しか代入できない・・・みたいなことはできなくて、iには何でも代入できます。さっきはint32を入れておいたのに、今後は文字列を入れる、みたいなこともできます。 --ということで動的型付き言語ということにもなります。 -(2-6) オブジェクト名やメンバ名は、後から変更することもできます。 --まさにファイル名を書き換える感じです。 --変更しても、ポインタなどには影響しません。それは内部では名前に頼らずに管理用のIDで管理しているためです。 --同様にあるオブジェクトのあるメンバを「移動」して、他のオブジェクトのメンバにすることもできます。これでも影響はありません。 -(2-7) オブジェクトはタイムスタンプやリビジョンを持ちます。 --タイムスタンプについては、ファイルについているタイムスタンプと同様のものです。作成日時と最終更新日時を保持できます。 --リビジョンというのは、オブジェクトが書き換えられると値が増加する整数値で、もしこれが変わっていなければ、内容を精査しなくても値が変わっていないことを確認できます。リビジョン値は書き換えられるたびに+1するというわけではなく、どのくらい値が増加するかは、特に決められていません。でもとにかく増加します。 --リビジョンはメンバを持つオブジェクトにも有効で、もしリビジョンが変化していなければ、より下層のすべてのメンバが変更されていないことを保証します。 * こめんと欄 #comment
タイムスタンプを変更しない
* KH-FDPL に関するメモ-0006 -(by [[K]], 2015.02.16) ** KH-FDPLの特徴(2) - オブジェクト(変数)の名前空間・型 -(2-1) KH-FDPLではすべてのオブジェクトに名前が付きます。変数名やメンバ名だと思うと分かりやすいと思います。 -(2-2) オブジェクト名とメンバ名を区切るのは「.」です。KH-FDPLではファイルの代わりもオブジェクトが担うので、スラッシュ区切りも検討しましたが、とりあえずはピリオドで区切ります。 --しかしこのような仕様については、ユーザが自由に拡張できます。これは(4)で書きます。 -(2-3) KH-FDPLでは、任意のオブジェクトに対して、いくらでもメンバを追加したり削ったりすることができます。もちろんプログラムの実行中に、プログラムからできます(そういう命令群がある)。ただし同じ階層でのメンバ名の重複は許されません。 --C++などでいうところの「クラス」という概念がないので、このオブジェクトは○○クラスに属するので、○○メンバを必ず持つ必要がある、みたいなことは記述できません。 --イメージとしては、フォルダにファイルをいつでも追加したり削除した入りできるのと同じです。 -(2-4) オブジェクトは基本的にフォルダとして内部表現されることになります。 --メンバ名は英数字以外にも使えて、内部ではメンバ名でソートされて管理されます。メンバ名を指定してメンバにアクセスできるほかに、「ソート順でi番目のメンバ」みたいな方法でもメンバを指定できます。これができるからこそ、全メンバの列挙なども可能になります。 --配列もメンバ名が「int32型の整数値」になっているだけで、結局は同じ仕組みで管理されています。したがって添え字が負になったり、値が飛び飛びになっていたりしても問題ありません。 -(2-5) オブジェクト変数は型を持ちません。値が型を持ちます。iはint32型の変数だから整数値しか代入できない・・・みたいなことはできなくて、iには何でも代入できます。さっきはint32を入れておいたのに、今後は文字列を入れる、みたいなこともできます。 --ということで動的型付き言語ということにもなります。 -(2-6) オブジェクト名やメンバ名は、後から変更することもできます。 --まさにファイル名を書き換える感じです。 --変更しても、ポインタなどには影響しません。それは内部では名前に頼らずに管理用のIDで管理しているためです。 --同様にあるオブジェクトのあるメンバを「移動」して、他のオブジェクトのメンバにすることもできます。これでも影響はありません。 -(2-7) オブジェクトはタイムスタンプやリビジョンを持ちます。 --タイムスタンプについては、ファイルについているタイムスタンプと同様のものです。作成日時と最終更新日時を保持できます。 --リビジョンというのは、オブジェクトが書き換えられると値が増加する整数値で、もしこれが変わっていなければ、内容を精査しなくても値が変わっていないことを確認できます。リビジョン値は書き換えられるたびに+1するというわけではなく、どのくらい値が増加するかは、特に決められていません。でもとにかく増加します。 --リビジョンはメンバを持つオブジェクトにも有効で、もしリビジョンが変化していなければ、より下層のすべてのメンバが変更されていないことを保証します。 * こめんと欄 #comment
テキスト整形のルールを表示する