約 3,167,269 件
https://w.atwiki.jp/terragen/pages/224.html
Node Type Transform/Warp Shader ノード説明と目的 『Warp Input Shader』は、"Warper"入力端子に接続されたシェーダからの変位ベクトルを使用して、上流(メイン入力を介して)にあるすべてのシェーダに対して変域歪曲を実行します。これは、シェーダによって使用される前にテクスチャ座標をオフセットする事で行います。これの大半は、ワーパーが最終結果を曲げているように見えますが、実際にはシェーダによって読み込まれる前に空間を曲げています。これを思い描く手っ取り早い方法は、ワーパーからの形が最終的なテクスチャを曲げる(但し反対側に)であろうという事です。 『Warp Input Shader』と『Warp Merge Shader』の違いは次の通り 『Warp Input Shader』、"Main"入力端子に接続する直上のシェーダと、さらに上流にあるシェーダを歪曲します。 『Warp Merge Shader』は、"Shader"入力端子に接続する直上のシェーダと、その入力のさらに上流にあるシェーダ(「サイドブランチ=側枝」)を歪曲します。サイドブランチと"Main"入力をマージしますが、"Shader"から上流のサイドブランチだけが歪曲されます。 『Warp Input Shader』がポイントをシェーディングまたは変位するように要求されると、次のようになります。まず、"Warper"入力端子に接続されたシェーダが変位ベクトルを生成するために呼び出されます。歪曲効果を生成するには、ワーパーはディスプレースメントシェーダまたはディスプレイスメントを生成するシェーダのネットワークである必要があります。ディスプレースメントはサーフェスには適用されません。そのベクトルは単に次の工程のために保存されます。次に、テクスチャ座標(「テクスチャ内の位置」)が変位ベクトルによってオフセットされ、"Main"入力端子に接続する直上のシェーダと、さらに上流にあるシェーダが呼び出されます。呼び出されたシェーダは、修正されたテクスチャ座標で機能するため、異なる結果が得られます。最後に、『Warp Input Shader』に続くシェーダが影響を受けないようにテクスチャ座標がリセットされます。 Tips 1 歪曲として使用したいカラーシェーダ、カラー関数、スカラー関数、ベクトル関数がある場合は、『Displacement Shader』または『Vector Displacement Shader』を使用して、それをディスプレースメントに変換する事が出来ます。既にディスプレースメントを生成しているシェーダを使用する場合は、それを直接接続する事が出来ます。 Tips 2 『Warp Input Shader』と『Redirect Shader』が同じ情況で使用されている事に気付くかも知れません。『Warp Input Shader』と『Redirect Shader』がよく連携する理由は、『Redirect Shader』を使用すると、あらゆる方向に向かう変位ベクトルを作成する事が出来るため、パワーフラクタルなどの3D関数を歪曲するのに便利です。歪曲の法線に沿って動作する単一のフラクタルを使用するだけでは、その歪曲効果が容易に確認出来ない場合があります。 例外 設定によっては、一部のシェーダは常に『Warp Input Shader』/『Warp Merge Shader』の影響を受けません 『Distribution Shader v4』。 "Altitude key"が「Final position」に設定されている場合、テクスチャ空間ではなくワールド空間が使用されるため、『Warp Input Shader』/『Warp Merge Shader』は効果がありませんが、マスクとして使用した場合は歪曲される可能性があります。 『Geog Image Map Shader』。"Georeference"が有効になっている場合、テクスチャ空間ではなくワールド空間が使用されるため、『Warp Input Shader』/『Warp Merge Shader』は効果がありませんが、マスクとして使用した場合は歪曲される可能性があります。 一部のシェーダは、『Warp Input Shader』/『Warp Merge Shader』の影響を受けませんが、マスクとして使用する場合は以下のようになります 『Compute Terrain』、『Tex Coords from XYZ』。これらのノードは下流に続くすべてのディスプレースメントのテクスチャ座標をリセットします。 雲層の『Cloud Layer v2』、『v3』、『Easy Cloud』。これらはワールド空間のボリューメトリックオブジェクトですが、歪曲はこれらの入力に別々に適用する事が出来ます。 『Constant Shader』は、どこでも同じ出力を生成します。 『Distance Shader』は、ワールド空間を使用します。 『Heightfield Shader』は、マスクは歪曲されるかもしれませんが、ワールド空間を使用します。 『Lambert Shader』は、どこでも同じアルベドを使用します。 『MOLA Map Shader』は、マスクは歪曲されるかもしれませんが、惑星上の位置を推測するために非変位の法線を使用します。 『Planet Atmosphere』は、ワールド空間のボリューメトリックオブジェクトですが、歪曲は入力に個別に適用する事が出来ます。 『Shadow Catcher Shader』は、ライティングの影響のみを受けます。 『Twist and Shear Shader』は、ワールド空間を使用します。 『Visualise Normal』は、法線は『Warp Input Shader』/『Warp Merge Shader』よって変更されません。 設定 Warper ワーパー このフィールドに設定された("Warper"入力端子に接続された)シェーダは、メイン入力に影響を与える反りや歪みを定義する変位ベクトルを生成します。 『Image map shader 』で線路の画像を読み込んだものを『Warp Input Shader』の"Main"の入力端子に接続したもの。 『Warp Input Shader』の"Warper"の入力端子にパワーフラクタルで変位ベクトルを作成した『Vector displacement shader』を接続したもの。 このサンプル画像を作成したノードネットワーク。
https://w.atwiki.jp/nrtk/pages/60.html
鳳凰民。 トリップなど付けず名無しレスだが、文章の最後に(;ω;)のAAとともにギャグを織り交ぜるのが特徴。
https://w.atwiki.jp/pathofexile12/pages/668.html
Shaper s SeedはAgate Amuletのユニーク 入手方法 詳説・特徴 関連リンク Shaper s Seed Agate Amulet ステータス要求値:LEVEL16 +(16-24) to Strength and IntelligenceStrengthとIntelligenceに+(16-24) (30-50)% increased Mana Regeneration Rateマナリジェネが(30-50)%増加 Regenerate 2% of Life per second毎秒Lifeが2%回復 Nearby Allies gain 2% of Life Regenerated per second近くの味方は2%のLifeリジェネを得る Nearby Allies gain 40% increased Mana Regeneration Rate近くの味方はマナリジェネが40%増加 The first light to grow in the primordial darkness. 入手方法 カード等のドロップ以外の入手方法 アイテム 必要数 備考 Lysah s Respite 6 Arrogance of the Vaal 8 Jack in the Box 4 詳説・特徴 関連リンク 英wiki https //pathofexile.gamepedia.com/Shaper%27s_Seed Unique Amulets 一覧
https://w.atwiki.jp/reflec_beat/pages/75.html
Sacred Oath DDR X2からの移植(後にGFDMXG2にも移植) BASIC MEDIUM HARD Level 3 5 8 Objects 138 216 312 BPM 170 TIME 1 32 Artist TЁЯRA Version 初代 +オブジェクト数変更有 Version B M H 初代 3(127) 5(192) 8(299) limelight 3(138) 5(216) 8(312) 動画 +初代 YouTube 【MEDIUM】 青サイド SC583 AAA FC 【HARD】 赤サイド SC896 AAA (PLAYER YUKKY.N2) 【HARD】 青サイド SC916 AAA (PLAYER XcheTO) ニコニコ動画 【HARD】 赤サイド SC867 AA 【HARD】 赤サイド SC1018 AAA FC (PLAYER OP.GA8RA) YouTube 【HARD】 青サイド SC1081 AAA+ FC TABLETENNIS (PLAYER SHACHI) 攻略 +初代でのコメント 余談だがコンポーザーのTAG氏がプレイしている際よくこの曲を選んでいたりする。 -- 名無しさん (2010-12-16 22 41 14) [HARD]サビはLN⇒終点から○−▽−が頻発する。 -- 名無しさん (2010-12-08 18 26 38) 解禁作業するならそれほど難しくないのでHARD推奨。何度もやれば常駐前にAAA、フルコンも夢じゃない -- 名無しさん (2010-12-15 22 51 22) それ程高くない難易度だからといって放置しない、早めにやりこんで早めの解禁を でないと上級者にボコされる -- 名無しさん (2011-04-02 07 42 24) 対戦になった場合、相手も50レベル以上が確実なので、グレやグッド、ミスが命取りになりがち -- 名無しさん (2011-04-03 21 56 01) この曲サクリフの次だから少し期待したが、Lv8だし、しかも糞譜面・・・。 -- 名無しさん (2011-05-08 00 50 48) 序盤の音が小さいのでグレ・グドハマリを起こすとストレスが半端無い。ただでさえ勝敗に神経質にならざるをえない解禁曲なのに・・・ -- 名無しさん (2011-05-09 14 10 30) ↑↑糞譜面は言い過ぎじゃね?サクリフは見切れるかが問われてるのに対して、セイクレは精度含めて総合譜面って感じ。 -- 名無しさん (2011-05-31 16 35 56) 個人的にはLOと2TOPを捌く基礎満載の良譜面だと思う。特化して難しい所は無い代わりにいつの間にやらミスが出てる。。。そんな譜面。FC安定までやり込むと2TOP絡みが難しいだけの曲は概ね取れるようになると思う -- 名無しさん (2011-08-25 22 57 27) ジャケにもろGFDMってかいてあるw -- 名無しさん (2011-11-17 23 53 43) ↑確かにwwなんでギタドラのやつコピペしてるんだよwww -- 名無しさん (2011-11-25 02 55 45) [HARD]limelightで最後が3TOP3個同時押しになってた。 -- 名無しさん (2011-11-26 18 30 08) [HARD]limelightで譜面が変更され、ロングがかなり増えて強化された。 -- 名無しさん (2011-11-26 22 11 43) [HARD]大幅に変更されている。初代と別物と考えた方がいい。 -- 名無しさん (2011-12-11 22 23 19) リズムも変わってます。ノーツは312。 -- リズムも変わってます。ノーツは312。 (2011-12-14 12 18 28) [BASIC]開始から最初の2連チェインが来るまで結構間がある(10秒くらい?) -- 名無しさん (2012-05-15 22 36 05) groovin !!で削除されます。言うまでもなくジャケットにNAOKIとjunが写ってるからですね -- 名無しさん (2014-05-14 16 27 42) junが堂々とジャケで写ってるテラバム曲、華爛漫、着物がきえてないからjunは別に関係無いんじゃね? -- 名無しさん (2014-05-14 18 13 44) ↑junもKONAMIやめてるからそれはありえん。あと着物以外の曲もNAOKI写ってるから危ない -- 名無しさん (2014-05-14 21 01 11) DDRではジャケット変更がされたが・・・ -- 名無しさん (2014-05-15 10 21 33) 初代で訳も分からず解禁されたとき、そのメロディーラインに泣けた思ひ出が‥‥ -- 名無しさん (2014-05-16 00 12 03) 名前 コメント ※攻略の際は、文頭に[BASIC] [MEDIUM] [HARD] [SPECIAL] のいずれかを置くと、どの譜面に関する情報かが分かりやすいです。
https://w.atwiki.jp/xbox360score/pages/1229.html
Spare Parts 項目数:12 総ポイント:200 難易度: 製品情報:http //marketplace.xbox.com/en-US/Product/Spare-Parts 配信日:2011年1月19日 DL費用:800MSP ジャンル:アクション アドベンチャー ☆国内未配信 Doing My Part Collect your first Action Part 20 Tutorial d! Finish the Tutorial 20 Jungle Master Finish Jumgle Approach 20 Cace In Finish Monkey Caves 20 The sky is a new shade of doom Finish Vista Cliffs 20 Crashdown Finish Ancient Temple 20 All Systems Go Find all Action Parts 20 Legedary Complete the Game 20 Blingbot Collect 1,000,000 credits 10 Shop-o-bot Present for the purchase of all concept art 10 Better,Stronger,Faster Present for the purchase of all Action Part upgrades 10 Ship s Engineer Collect all 100 ship Parts 10
https://w.atwiki.jp/emups2/pages/42.html
PCSX2 Playground PCSX2 Playgroundについて FAQ 公式版からの主な改善点 (readmeより) パフォーマンス公式版との比較 (readmeより) 高速化のための設定 バイナリの配布公式ビルド 非公式ビルド PCSX2 Playgroundについて PCSX2から派生したプロジェクトで、公式版の開発メンバーとは別のメンバーによりメンテナンスされている。ユーザからのフィードバックを比較的迅速に反映させる開発体制を取っている。最近になり公式チームより成果が認められ、将来的に改善点が公式版にマージされる事が期待される。 「PP」と略される。 FAQ PCSX2 Playground FAQ参照。 公式版からの主な改善点 (readmeより) フレームスキップ/VUスキップの改善 Special gamefix機能 VU/FPUの挙動を細かく制御するためのadvancedオプション マルチスレッドGS(MTGS)モードの高速化と安定性の向上 VU/FPUのフラグと丸め動作のエミュレーションの改善 EE/IOPの同期の改善 CD/DVDサポートの改善 パフォーマンス 公式版との比較 (readmeより) PPのデフォルトは互換性を重視する設定になっているため、公式版の0.9.4/0.9.5と比べて動作は遅い。特にVUの丸めやフラグのチェックの厳密なエミュレーションが重い。これを改善するために様々なspeedhackが用意されており、厳密なエミュレーションを必要としないゲームについては、これらを手動で無効化できる。大抵は、speedhackを適切に設定する事により、公式版よりも高速に動作するはずである。 speedhackはまだ開発途上であり、今のところ使い方についての詳しい説明はない。ゲームによって効果が異なるので、各自で最適な設定を発見してほしい。PCSX2の フォーラム で開発者や識者の意見を聞くのも参考になるかもしれない。 高速化のための設定 動作が重いと感じる場合は、以下の設定を試してみると良い。ゲームによっては動作不能になるので注意。 なお、PP r472以降、speedhackの一部はadvancedオプションに移動している。clamp modeをnoneに設定する事が従来のoverflow checkを無効化するspeedhackに相当する。 speedhackの各設定にチェックしてみる advancedのVU RecsのFlush to ZeroとDenormals are Zeroにチェックする (r472以降)advancedのEE/VU RecsのClamp ModeをNoneにする バイナリの配布 リポジトリが 公開 されており、各自でソースコードからビルドする事が可能だが、公式/非公式にバイナリの提供も行われている。 公式ビルド http //www.pcsx2.net/downloads.php (パブリックリリース; 本体とプラグイン一式 一番下のPCSX2 Playground v1.0.0395より) http //forums.pcsx2.net/thread-2731.html (比較的新しめのtrunkビルド; 本体のみ) 非公式ビルド なお、PCSX2 Playgroundチームは、公式ビルドもしくは改変の無い自分のビルド以外でバグ報告を行う事を禁止しており ( ソース )、改変されていない保証が不可能な非公式ビルドでバグ報告を行う事はできないので注意。 http //re4rainbow.4shared.com/ http //www.mediafire.com/re4rainbow (ミラー)
https://w.atwiki.jp/hares/
よろしくどうぞ。 やあやあ、みなさん、はじめまして! 楽しかったことは なんでもかんでも書き残していこうと思います コメントも大歓迎ですので 気楽に絡んでやってくださいませ^^ 毎日要チェック
https://w.atwiki.jp/2theparadise/pages/160.html
連邦組織図 連邦主席 連邦情報局 対外 各艦隊司令部 機動艦隊 広域 宙域 星系 戦術班 連邦捜査局 統合情報部 各星系 分析部 統合 各星系 企画部 統合 調査部 統合 各星系 外事部 諜報 防諜 人事部 人員 教育 管理 資源部 施設 運用 支援 技術部 装備 情報 通信 艦艇 監査部 各星系 連邦調査局 企画 広域 宙域 星系 監査 情報局艦艇部 艦政 計画 建艦 機材管理 艦艇 装備 開発 連邦植民航路局 宙域管区 ゲート管制所 星系航路管制所 ゲート管理部 星系 企画建設 星系 航路課 広域 宙域 星系 植民企画部 広域 宙域 星系 人事部 人員 教育 管理 資源部 施設 運用 管理 艦艇 探査部 1課(広域) ~ 8課(広域) 9課(惑星) ~ 12課(惑星) 連邦統計調査局 宙域 星系 連邦植民調査局 連邦人権調査局 連邦安全保障局 疾病防疫対策局 連邦警察局 警護課 要人警護班 警備課 特務警備班 海賊課 宙域 星系 麻薬課 宙域 星系 武器課 宙域 星系 組織犯罪課 宙域 星系 警務部 各星系 警備部 宙域管区警察 星系警察 第一機動艦隊 ~ 第三二機動艦隊 保安官事務所 保安官(シェリフ) マーシャル 矯正局 宙域矯正管区 星系刑務所 内部監査局 星系 惑星 事務総局 政治局 法務局 財務局 外事局 健康保健局 貿易開発局 広域 宙域 情報通信局 宙域管区 アンシブル中継所 広域 設備 機材 連邦偵察局 外域 広域 人事部 人員 教育 管理 資源部 施設 運用 支援 偵察艦隊部 探査艦隊 第1 ~ 第36 艦艇部 艦政 計画 建艦 連邦技術開発局 再接触委員会 連邦人権調査局 知性化委員会 人類 ネオ・チンパンジー ネオ・ドック ネオ・ドルフィン 人権委員会 難民管理局 こども人権管理局 経済産業会議 連邦統計調査局 星間植民会議 連邦植民調査局 星間信託統治会議 安全保障会議 連邦調査局 連邦軍 幕僚本部 情報本部(一部) 諜報課(一課) 防諜課(二課) 戦略情報課 情報本部(二部) 諜報課(四課) 軍政本部 艦政部 兵器部 装備部 技術部 教育部 航路部 情報局管轄 参謀本部 情報部 第一課 第二課 第三課 第四課 第五課 通信部 作戦部 航路通商部 護衛通商部 私掠船部 人事部 計画 人員 評価 兵站部 施設課 支援運用課 運用部 編成課 資源課 評価部 戦略護衛総隊 護衛艦隊 第一戦隊 ~ 第十二戦隊(平時) 武装商船隊 海賊課 私掠船団 艦隊本部 第一艦隊 聯合艦隊(戦時) 任務群 第二艦隊 第三艦隊 第四艦隊 第五艦隊 第六艦隊 任務部隊 第七艦隊 第八艦隊 第九艦隊 第十艦隊 第十一艦隊 第十二艦隊 教導艦隊 第十三艦隊 教育艦隊 第一 第二 第三 第四 陸戦隊 艦隊 管区 警備隊 海兵隊 総軍 遠征軍集団 第一師団 第三師団 第四師団 予備海兵師団 管区予備 連邦陸軍 宙域軍 星系派遣軍 星系予備 機甲 航空 機動歩兵 軌道降下兵 軍事大学校 連邦軍士官学校 海事士官学校 艦艇 航宙機 陸事士官学校 特殊戦学校 予備士官学校 宙域 軍事学校 海事兵学校 艦艇 宙域 航宙機 陸事兵学校 機動歩兵 機甲 航空 軌道降下兵 海兵隊 軍事委員会 統合作戦本部 各国軍司令部 各国星系軍 惑星防衛軍 水軍 陸軍 空軍 公安委員会 公安警察 国際防諜課(一課) 国際諜報課(二課) 戦術課(三課) 特殊戦術班 戦術機動班 治安警察 治安対策課 宙域 星系 組織犯罪対策課 薬物 知能犯罪 対テロ 情報 海賊対策課 機動 潜入 検察局 宙域 星系 連邦警備艦隊 人事部 人員計画課 教育課 艦政部 技術部 兵器部 装備部 Q 航路部 連邦警備艦隊 第一管区 統合警備艦隊(戦時) 治安群 第二管区 第三管区 第四管区 第五管区 護衛群 第六管区 第七管区 第八管区 第九管区 第十管区 第十一管区 第十二管区 教育艦隊 第一 第二 連邦評議会 各種政策諮問会議 政策委員会 有識者会員 連邦統計調査局 各国政府代表団 経済団体代表団 業界団体 企業団体 労働代表団 労働組合 連邦教育委員会 星系 広域 道府県 市町村 惑星管区 連邦大学各校 連邦大学校 大学院委員会 学校長会 学部会 職員会 大学委員会 高等委員会 中等委員会 各校自治会 各校保護者会 各校生徒会 惑星連邦大学 学長 理事会 教育委員会 各学校長 教職員会 教育委員会 各校教育委員会 自治会 司法裁判所 司法警察 警察監察局 宙域支部 星系支部 最高裁 高等裁判所 宙域裁判所 地方裁判所 星系裁判所 管区裁判所 家庭裁判所 上へ
https://w.atwiki.jp/gamemusicbest100/pages/2191.html
シャンティ 機種:GBC 作曲者:Jake Kaufman 開発元:WayForward Technologies 発売元:カプコン(オリジナル)、WayForward Technologies(VC) 発売年:2002 概要 「Mighty Switch Force!」シリーズや『わんぱくダック夢冒険 リマスター版』などを開発したWayForward Technologiesが贈る、4作目まで続こうかというシリーズの初代作品。 無数のモンスターやリスキィ・ブーツ率いる海賊達の脅威に対抗すべくスカットルタウンの守護精霊として雇われた、人間と精霊のハーフであるシャンティの活躍を描く物語。 メトロイドヴァニアと呼ばれる2D探索アクションゲームであり、発売したのがハード末期とはいえ「外ではリアルタイムで昼夜が逆転する」「物陰に隠れた時の明滅の表現」「各種動作が細かいドットでヌルヌル動く」など、 一部の場面を除いて処理落ちも発生しない作りは、ハードが「ゲームボーイアドバンス」ではなく「ゲームボーイカラー」である、という事を忘れさせてしまう。 主役のシャンティはペルシャの踊り子を思わせる格好の、褐色かつポニーテールの少女でありその出で立ちどおりベリーダンスを踊って子ザルや象など様々な生き物に変身し、 ハーフ・ジーニー故に扱える魔法も駆使して障害を突破していく。 それらも含めた登場するキャラクターなど、悉くが可愛く表現されており日本人にも十分通用するデザインではあるのだが、現在でも国内未発売。 海外GBCソフトは日本の本体でも動作するが、プレミアが付いておりかなり高額になってしまっている。プレイしたいなら海外版2DSと海外版ニンテンドープリカを買ってVC版を買ったほうが、ついでに他のソフトも遊べるのでよいだろう BGMも全体的にアラビアやペルシャを思わせる世界観を形作るものが揃ってはいるが、端々でそんな世界観から外れた激しい曲も混ざり、バラエティに富んだものとなっている。 2010年にはDSiウェアに続編『Shantae Risky s Revenge」が発売。 収録曲 曲名 補足 順位 Title Bandit Town Boss ゲームボーイ272位 Burning Town ゲームボーイ194位 Caverns Conversation Credits Dance Room Day Travel Day Travel 2 File Menu Finish Puzzle Flashback Found Item Game Over Trapped Genie Harbor Town Labyrinths Labyrinths 2 Minigame Minigame Start/Lose/Win Night Travel Night Travel 2 第2回マイナーゲーム51位2000年~2007年89位 Oasis Risky Boots Risky Boots Battle Shop Tinkerbot Boss Battle Underground Water Town Zombie Town 第2回マイナーゲーム58位 サウンドトラック Shantae Original Soundtrack PV
https://w.atwiki.jp/rubyiw/pages/91.html
Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したりする機能を提供するモジュールである。 Rubyのプログラムは、多数のオブジェクトがお互いにメッセージをやり取りしつつ動作する。 その無数のオブジェクトには寿命があり、生まれて、すぐに消滅してしまう(実際にはガーベージ・コレクタが動くまでカスが残り続けるわけだが)ウスバカゲロウのように儚いオブジェクトもあれば、いつまでもしぶとく生き残っているオブジェクトも存在するのである。 しかし、オブジェクトの寿命には限界がある。それは、『プログラムが起動してから終了するまで』なのである。プログラム本体の寿命より長生きするオブジェクトは存在しないし、もしプログラムが終了して後も、オブジェクトが死霊のごとく残存しているとすれば、これは俗に言うメモリリークが発生しているのであり、急いで原因を究明せねばならない。 だが、『そうか、オブジェクトの寿命はプログラムが起動して終了するまでか、なるほど。仕方ないなあ』で済ませるわけにはいかない。 例えば貴方がRubyでロールプレイングゲームの大作を作ったとする。不眠不休でプレイしたとしても、早くて100時間はかかろうかというものすごいものだ。だがこれには弱点があって、途中で止めることができないのである。なぜならオブジェクトの生存期間がプログラムの開始から終了までだから。 と、まあこういうゲームは誰も遊んでくれないわけであって、実行中の状態を保存してプログラムを終了し、プログラム再起動時には保存した状態を復元できなければならないのである。この状態の保存と復元を『永続性』と呼ぶ。 これが、手続き型や構造化プログラミング言語であれば、メインルーチンがグローバル変数かなんかの値を適当に編集してファイルに書き出しておけばよいわけであるが、オブジェクト指向プログラミング言語の場合、そう簡単にはいかない。 なぜならオブジェクト指向プログラミング言語で作成されたプログラムには、オブジェクトがうじゃうじゃと存在するわけだから、メインルーチンが全て面倒をみるわけにはいかないのだ。大体、PrivateやProtectedでデータを隠し持っている場合もあるわけだから、メインルーチンからは見えないのである。 従って、状態保存と復元はオブジェクト単位にできなければならないのだ。 このような背景があり、オブジェクト指向プログラミング言語には通常、オブジェクトの内容をバイト列に変換するシリアライズ(直列化)機能と、それをオブジェクトへ復元するデシリアライズ機能が存在するというわけだ。 では、サンプルコードを見てみよう。 001 | #犬クラスの定義 002 | class Dog 003 | def initialize(a=0, n="") 004 | @age=a 005 | @name=n 006 | end 007 | def say 008 | puts "私は#{@name}です。年齢は#{@age.to_i}歳です" 009 | end 010 | end 011 | 012 | pochi=Dog.new(1,"ポチ") 013 | 014 | clonePochi = Marshal.load(Marshal.dump(pochi)) 015 | 016 | clonePochi.say これは一体何をしているのかというと、Dogクラスのインスタンスpochiを生成し、Marshal機能を使って、クローン犬clonePochiを複製するという、神をも畏れぬ所業を行っているわけだ。 Marshal.dumpがシリアライズ、Marshal.loadがデシリアライズというわけだね。 『そんな回りくどいことしなくても、clonePochi=pochiでいいじゃないですか?』 確かにそうなのだが、それだとMarshalの解説にならないので…