約 6,503,470 件
https://w.atwiki.jp/atachi/pages/22.html
コレクションの種類 ObservableCollection WPFでの使用が可能 データバインディング対応 LinkedList 双方向リスト 途中に要素を追加したり、削除するなら通常のListより効率がよい。 Queue 先入れ先出し(FIFO)リスト Stack 後入れ先出し(LIFO)リスト IEnumerator T コレクションの運用方法 クラスがpublicとして外部にコレクションを公開するフィールドやプロパティにはICollection / ICollection T を使います。 Listなどのコレクションの実態を返してしまうと、クラスが別の実体のコレクションを実装する場合に公開しているプロパティの型と参照している参照先をすべて変更しなければならなくなります。 線形リスト List T 非推奨。複雑であり、拡張しずらい Collection T 推奨。シンプル。 ObservableCollection T カスタムコントロールの設計でコレクションのプロパティを公開する場合に使用する Collection T 型 を使うことが推奨されます。 その理由にはCollectionは拡張性を考慮した設計を行っていることと、コレクションとして最低限必要なインターフェースだけを実装している点です。また、Collection T →List T への変換は簡単に行えます。 Collection T 型 を使用する場合でも、「Collection MyClass arr = new Collection MyClass ()」とするよりもMyClassクラスを要素に持つCollection T 型を継承したクラスを作成すべき。(小さな手間以上の利点がある) class MyClassCollection Collection MyClass { // 利点として、SortやEmptyなどのメソッドを独自に実装できる } 下記は、List T 型 によるコレクション。 List string messages = new List string (); messages.Add("リストでは"); messages.Add("任意の場所に要素を追加できるよ"); List string messages = new List string (); messages.Add("リストでは"); messages.Add("任意の場所に要素を追加できるよ"); List string messages2 = new List string (); messages2.Add("末尾に付け足すこともできる"); messages.AddRange(messages2); 読み取り専用のコレクション List T .AsReadOnly() ReadOnlyCollection foreachによるコレクションの操作 foreach内での要素追加・削除 foreach内ではコレクションへの要素の追加・削除はできません。 これらを行おうとすると、実行時に「コレクションが変更されました。列挙操作は実行されない可能性があります。」というエラーメッセージとともに例外が投げられます。 理由は説明するまでもなく、コレクションの走査中に内部に格納した要素の位置や順序が変わるということは正しい順序で走査できないためです。 解決策には、走査したいコレクションと同じ順番のコレクション(配列)を作成し、そのコレクションでforeachを実行する事になります。 // MyDataは何らかのクラス(参照クラスまたは値クラス) ICollection MyData mydatas = new Collection MyData (); mydatas.Add(new MyData{name="test"}); ... // 適当にmydatasコレクションへ要素を追加 // foreachのための配列を作成 MyData[] dmy = new MyData[mydatas.Count]; foreach(var obj in dmy){ if(obj.name.StartWith("t")){ mydatas.Remove(obj); } } foreachを直接mydatasコレクションを使うと上記のコードでは例外が発生する(*1) CopyToメソッドは任意の配列に要素をコピー(シャローコピー)するメソッド。 これにより新たな配列が確保される。シャローコピーなので、要素のインスタンスは新しくヒープに作成されません。 ただし、調子によって次のようなコードでも...と思うと痛い目に遭う。 // foreachのためのコレクションを作成 ICollection MyData secondCollection = new Collection(mydatas); foreach(var obj in secondCollection){ if(obj.name.StartWith("t")){ mydatas.Remove(obj); } } Collectionクラスのコンストラクタには別のコレクションを引数にする定義があります。 しかし、このコンストラクタは新たなコレクションを作り出す意味ではなく、引数のコレクションをラップするコレクションを作成するためのコンストラクタです。 要素を格納しているリストそのものは、mydatasとsecondCollectionは同じものを示しているため、foreach文が使うsecondCollectionのリストへの変更はそのままmydatasコレクションのリスト操作へ繋がるため、上記のコードではやはり例外が発生します。 foreach文での要素への値設定 foreach文の要素の走査でのループ決定のタイミングについてですが、 foreach文では最初の呼び出し時にコレクションのIEnumerable.GetEnumerator()が呼び出されイテレータが取得されます。 あとはイテレータのMoveNext()を呼び出し次の要素を取得していきます。最後はMoveNext()がnullを返したときにループを終了します。 foreachのループ順序はforeachが決めているのではなく、コレクションが定義したIEnumerableによって決定されます。 そのため、コレクションが持つIEnumerableの実装方法によってforeach内での要素への値設定は不正となる可能性が出てきます。 ICollection MyData items = new MyDataCollection(mydatas); // MyDataCollectionは独自に定義したコレクションクラス int lastOrder = 0; foreach(var item in items){ lastOrder = item.Order; item.Order = items[MyDataCollection.Count]; } 潜在的にバグがあるであろうと誰でもわかるように上記のコードとしました。 このバグはコンパイラは報告してくれません(*2) 「誰でもわかる」というのは、MyData.OrderというプロパティがおそらくMyDataCollectionでの要素の位置を示しているであろうことを、開発者は直感で感じ取るからです。 foreach内で要素の順番に関わるプロパティの値を変更することは、プログラムが復帰不可能となるか無限ループに陥ります。 このサンプルのように、明らかに要素の順番に関わっているであろうことがわかる場合ならよいのですが、現実にはそうでない場合がほとんどです。 この問題を引き起こさないためには、開発時にプロジェクト全体で1つのシナリオを定義しておくべきです。 ただし、「foreach内で要素のプロパティ値を設定しない」だけでは不十分です。要素のメソッドの呼び出しも注意が必要です。 foreach内で呼び出した要素のメソッドがOrder値を変更するような実装をしていたら上記と同じことになります。 このようなバグを回避するには、foreachを使わない、もしくはOrderをreadonlyとして宣言しておくなどのプロジェクト全体でこの問題についてのシナリオを議論する必要があります。 要素への逐次処理 C#ではラムダ式が使えるので、配列やコレクション内の要素に対して値を取得したり設定する場合に次のような記述ができます。 int[] array = { 1, 2, 3 }; int sum = 0; Array.ForEach int (array, (i) = // Array.ForEach { sum += i }); ただし、この書き方は推奨できません。 デバッグがしづらいです。そのままforeach文として記述できるので、foreach文で書くべきです。 System.Array C#ではラムダ式が使えるので、System.Arrayが定義する配列に対する操作がかなり簡潔に書けるようになりました(ほとんど、ワンライナーで記述が可能) string[] names = new[] { "北海道", "本州", "四国", "九州", "沖縄" }; // ■ Findメソッド string name = Array.Find(list, s = s.Length == 3); Console.WriteLine(name); // ■ Exists // 任意の条件に一致する要素がある場合true bool b = Array.Exists(list, s = s.StartWith("四") ); Console.WriteLine(b); // ■FindIndex // 任意の要素の位置 int index = Array.FindIndex(list, s = s == "本州"); Console.WriteLine(index); // ■ForEachメソッド // foreach構文と同じ。 Array.ForEach(list, s = Console.WriteLine(s)); // ■Sortメソッド Array.Sort(list, (x, y) = x.Length - y.Length); Array.ForEach(list, s = Console.WriteLine(s)); // ■ConvertAll string[] list2 = Array.ConvertAll(list, s = s.ToLower()); Array.ForEach(list2, s = Console.WriteLine(s)); 文字列配列の文字列一致 文字列型の配列から、特定の文字と完全に一致する要素があるかを検証する処理は簡単にできます。 string[] PrefectureNames = new string[] { "北海道", "青森", "岩手", "宮城", "秋田" }; if(PrefectureNames.Contains("岩手")) System.Console.WriteLine("「岩手」は配列に存在します"); IList.Containsメソッドを使うと、引数のオブジェクトと一致する要素がある場合にtrueを返します。 .NET Frameworks3.0以降で有効
https://w.atwiki.jp/viprpg_collection/pages/23.html
なぜか受け継がれていく超魅了の世界 ※現在、以下の2つのバージョンを保管しており収録作品も異なります。 (当wiki保管バージョンとスレ投下バージョンとに競合が起きていることが理由ですが対応は未定です。(2012/06/10)) ※共に、付属txtに詳細な更新履歴あり 当wikiの手が加わったバージョン(最新2012/01/23) スレに投下された当wikiの手が加わっていないバージョン(最新2012/06/10) 当wikiの手が加わったバージョン(最新2012/01/23) 表記v3.02 ダウンロードする(26.1MB) ※別窓で開いたページのダウンロードリンクをクリック。 ┗◆収録作品<Click me!> ムシャが醤油かけられる 弟子五郎が黒酢かけられる 醤油で煮込んだYHVH 死神五世の初夢 エロリアさんが手錠かけられる 偽五世がサラミ乗せられる 偽ムシャがみりんかけられる 大豆と小麦と塩を加えて発酵させたウォーター 黒酢醤油と味醂で合えたセラフィムのサラミ お便所ベイビー なすーんが精子かけられる 伯方産の塩化ナトリウムをふりかけたオトメ そんな醤油で大丈夫か? ブライアンパンマンがアンパン投げつけられる もしもサラミがトの力を得たらもしくは 残酷がチリソースに悦ぶ 全ての悪夢の原因~調味料~ フレイムさんがお水かけられる ペロッ・・・これは、醤油! 壮絶!ユッケ早食いチキンレース 醤油神エターナル ヴィダル★ナスーン スリープがレモネードかけられる アーディスがはちみつかけられる 卵かけフィリア 風tk 焦がししょうゆ 醤油幻想奇譚 ファルコンがしょうゆムースかけられる しょうゆではなくみそ スレに投下された当wikiの手が加わっていないバージョン(最新2012/06/10) 表記v4.00 ダウンロードする(35.2MB) ※別窓で開いたページのダウンロードリンクをクリック。 ┗◆収録作品<Click me!> ムシャが醤油かけられる 弟子五郎が黒酢かけられる 醤油で煮込んだYHVH 死神五世の初夢 エロリアさんが手錠かけられる 偽五世がサラミ乗せられる 偽ムシャがみりんかけられる 大豆と小麦と塩を加えて発酵させたウォーター 黒酢醤油と味醂で合えたセラフィムのサラミ お便所ベイビー なすーんが精子かけられる 伯方産の塩化ナトリウムをふりかけたオトメ そんな醤油で大丈夫か? ブライアンパンマンがアンパン投げつけられる もしもサラミがトの力を得たらもしくは 残酷がチリソースに悦ぶ 全ての悪夢の原因~調味料~ フレイムさんがお水かけられる ペロッ・・・これは、醤油! 壮絶!ユッケ早食いチキンレース 醤油神エターナル アーディスがはちみつかけられる スリープがレモネードかけられる 卵かけフィリア 風tk 焦がししょうゆ 醤油幻想奇譚 ファルコンがしょうゆムースかけられる しょうゆではなくみそ 関西電気保安協会 ヴィダル★なすーん ユカイツーカイムシャくん フレイムさんのしょうゆ脱出ゲー ライスパークが米酢かけられる わてりに何かするゲーム エバリ焼肉のタレ ウィンドⅠが死にかける ファイアⅡに油そそぐ テレポートがじんじんする 魔皇女が昼食のおかず探しに行く [ collect history ] v3.01 2011/10/12v2.50 2011/08/07v2.00 2011/06/11v1.00 2011/03/?? ※細かいverupは付属txt参照 【関連】 [シリーズ作品] しょうゆシリーズ [もしもシリーズ設定@wiki] 用語 - しょうゆ 醤油シリーズはここでいいんだろうか。これよりまだ増え続けているので、コレ収録作品問わずタイトル並べておいた方がいいかもね -- 名無しさん (2011-04-04 10 12 47) >シリーズ 今のところ、既にコレクション化されてるシリーズはノータッチでバージョンアップを待とうと思ってます(どの程度待つかは未定)。未収録を並べてしまうとコレクション化されることがなくなるように思えてしまうので。そんな理由から、当wikiのシリーズカテゴリの追加もちょっと慎重になっています。 -- 管理者 (2011-04-04 23 01 07) おっとー!そしたら講座コレクションはどうなんだ?って話になりますね。載せる載せないは後で考えるとして収集してみます。 -- 管理者 (2011-04-04 23 25 00) そもそもコレクションの追加編集ってだれがやるの -- 名無しさん (2011-04-05 15 21 19) 仙道なら・・・仙道ならきっと何とかしてくれる・・・ -- 管理者 (2011-04-06 07 34 34) まだあわてるような時間じゃない -- 名無しさん (2011-04-06 12 40 27) タイトルだけ置いておけばいいんじゃない -- 名無しさん (2011-04-11 21 10 31) タイトルを置いておけば何を追加すればいいか分かりやすくなるしね -- 名無しさん (2011-04-14 07 36 09) >タイトル 暫定対応しました。 -- 管理者 (2011-04-15 01 04 26) 残酷がチリソースに悦ぶtoわたしとデュラハンさんと骨と -- 名無しさん (2011-04-16 12 59 13) のzipが見つからない・・・ -- 名無しさん (2011-04-16 12 59 40) >見つからない 未収録をDLできるよう暫定対応しました。 -- 管理者 (2011-04-16 18 49 49) 祭りにもあったけど どうすれば -- 名無しさん (2011-04-20 17 34 34) >祭 どの作品でしょうか?2010夏の陣No.95と2010紅白No.92は、名前には共通点がありますが内容は要素として取り入れているだけと判断して除外しています。 -- 管理者 (2011-04-21 01 02 46) コレクションとシリーズを分離させたので未収録分はしょうゆシリーズの方へお願いします。 -- 管理者 (2011-04-22 23 04 55) コレクション更新された -- 名無しさん (2011-06-11 08 03 18) >更新 次回追加時にやろうと思っていましたが今追加しました。 -- 管理者 (2011-06-11 22 37 48) スレで報告されていたバグは修正し、付属txtに更新履歴のフォーマットがあったので記述を追加しています。 -- 管理者 (2011-06-11 22 39 08) しょうゆコレクション修正しました -- 名無しさん (2011-06-13 18 21 25) ろだにあります -- 名無しさん (2011-06-13 18 21 36) >修正 差し替えました! -- 管理者 (2011-06-13 21 36 07) コレクション収録のレモネードのマップ移動がところどころおかしいです -- 名無しさん (2011-08-11 22 04 38) >マップ移動 修正しました。レモネードのBGMでオリジナルと相違がある点を何箇所か見つけましたが理由がわからないのでそのまま -- 管理者 (2011-08-13 09 12 12) アンパンとペロッのお話で二回目以降、キャラが変になるようです。話中で主人公のグラフィック変更させたまま終了時に戻していないっぽい。 -- 名無しさん (2011-09-10 00 22 09) >アンペロ2 明日見てみます! -- 管理者 (2011-09-10 16 01 00) 修正しました!ついでにコモンのゲームオーバー処理を統一させました。このゲームオーバーコモンは通らなくてもいいですが、その付属の各種リセットコモンはとりあえず呼んどくと思わぬバグを防げるかもしれません。 -- 管理者 (2011-09-11 14 21 02) スレにv3.00(tkool4vip2525)が投下されましたがバージョンの競合が起きていますね。差し替えずに1ヶ月ほど様子見をして、何も変化がなかったら私がマージします。 -- 管理者 (2011-10-11 20 09 01) 中身を調べた勢いでマージしました。 -- 管理者 (2011-10-12 22 03 04) 風tkが画面固定解除されていないせいで進めないんだぜ -- (2012-01-18 12 32 25) >進めない どこのことなのかわかりませんでした。もう少し詳しく -- 管理人 (2012-01-19 20 42 05) ↑わてりが目覚めて崖を上るシーン。上ると共に、徐々に画面上下に黒幕が出てくるところ -- 名無しさん (2012-01-20 16 52 21) こちらの環境では画面固定されずに進められたので、他の話が関係していると思われます。各話終了時のリセットコモンに画面固定の解除を追加しました。まだ何か変だったらお教え願います。報告ありがとう! -- 管理人 (2012-01-23 13 52 45) ↑ -- 名無しさん (2012-01-29 15 41 45) ↑↑乙です。(一つ上の書き込みはミス) -- 名無しさん (2012-01-29 15 42 15) 新バージョン出ないのかな -- 名無しさん (2012-01-30 23 16 08) TastySoysause ~赤と青の幻想曲~みたいにコレクション外の作品はどう扱うの -- 名無しさん (2012-04-22 22 39 11) >コレクション外 シリーズ作品の方にしょうゆページが作られているのでこちらに追加するか追加されるのを待つかですね -- 管理人 (2012-04-24 00 11 52) グーグルがおかしいみたい。スカイドライブに上げてくれないか? -- 名無しさん (2012-04-30 22 34 28) >スカイドライブ ストレージ検討の際にSkyDriveは小さいファイルでもDLに1クッション必要で嫌だったので導入する予定はないです。ブラウザ変えてDLしてみて下さい。 -- 管理人 (2012-04-30 23 08 41) あと転送速度がとても遅かったのも理由。 -- 管理人 (2012-04-30 23 23 54) ダウンロードに成功しました。 -- 名無しさん (2012-05-02 23 29 29) 「偽ムシャがみりんかけられる 」でみりんを掛けて花になった四天王に何度も会話出来るバグがありました。 -- 名無しさん (2012-05-02 23 30 55) それは元作品の仕様じゃなかったっけ -- 名無しさん (2012-05-03 10 09 09) あと、ドナ子ドヤ顔の専用効果音が流れません。これは明らかなバグですね。 -- 名無しさん (2012-05-03 16 37 38) SWシンセサイザのバグでした。 -- 名無しさん (2012-05-03 16 51 55) >何度も会話出来るバグ バグか仕様かわからないところは手を触れないようにしています。 -- 管理人 (2012-05-06 09 34 02) GW祭りから「ファイアⅡに油そそぐ」をコレクション追加お願いします。 -- 名無しさん (2012-05-20 10 28 53) ver4.00 公開されました。 -- 名無しさん (2012-06-10 20 22 50) 「スレに投下された当wikiの手が加わっていないバージョン」ですが、「テレポートがじんじんする」が入っていませんでした。他にも問題が発生する可能性があるのでご注意ください。 -- 名無しさん (2012-06-16 15 38 35) 6代目保管庫の「大和魂が見てはいけないものを見てしまう」はシリーズに入るんでしょうか? -- 名無しさん (2012-06-17 23 11 19) 「でも僕はオリーブオイル」を追加お願いします。 -- 名無しさん (2012-06-21 20 00 10) オリーブオイル 確かに醤油だとは思うが、あれも含めたら入れる範囲がかなり広範囲になる気が -- 名無しさん (2012-07-01 15 39 11) コレクションじゃなくてシリーズのページに置けばいいか -- 名無しさん (2012-07-01 19 05 11) 「時代は暴力より医学」「寝る前に子供できた」「アレックスが性的な意味で食べられる」「ライチにしょうゆかけてあげる」「PEPSIOUS護るべき飲み物」「アイスさんがアツーイ」「ナタリーがソースかけられる」「しょうゆの樹」「わてりおいしいです」もコレクションに加えてください。「テレポートがじんじんする」は肖像権とかの問題でヤバイんじゃない? -- 名無し (2012-12-16 19 50 36) ブライアンパンマンがアンパン投げつけられるでのブラックバイソンが踊ってる時のBGM何? -- 名無しさん (2013-11-02 23 33 11) ばいきんおーでggr -- 名無しさん (2013-12-29 09 45 52) 宅配です -- 名無しさん (2015-12-15 09 56 13) はいパン粉 -- 名無しさん (2016-02-13 16 18 46) 「スレに投下されたwikiの手が加わっていないVer」で、「全ての悪夢の原因~調味料~」のスリープがカナエールに起こされるシーンで止まってしまいます -- 名無しさん (2016-04-20 01 03 18) 元ゲーのバグなので修正版の方をプレイしてください -- 名無しさん (2019-05-04 16 41 40) 名前 コメント
https://w.atwiki.jp/ringomaki/pages/111.html
ポケモンカードゲームの各シリーズでは、あるポケモンを主題にした構築済みデッキが発売されることがある。 そのデッキにのみ収録されているポケモンで、かつ主題になっているポケモンよりもユーティリティで分かりやすく強く、他のデッキにおいても活躍できるポケモンのことを言う。 他のポケモンによるサポートを必要としない、他のポケモンを強力サポートできるなど、デザイナーのデザインミスも大きいと思われる。 強い可能性があるポケモン一覧 ロズレイド(エキスパートデッキ) ルカリオ(ライチュウデッキ)
https://w.atwiki.jp/makarusnap/pages/57.html
トップページ 用語集 コレクションレベル コレクションレベル カードのクオリティを上げると「コレクションレベル」の数値が増えます。 コレクションレベルとは? コレクションレベルは、プレイヤーの「やり込み度」をあらわす指標のひとつです。 ▶︎どこで確認できる? ランクマッチができる「メイン」画面の上段に、緑色のランプがあります。そこに書かれた数字で確認できます。自分のアバター画像の下に緑色のエリアがあり、そこに表示されています。 緑色のエリアをタップすると、カードの入手履歴が確認できます。 ▶︎コレクションレベルを上げる方法 カードをグレードアップすると上がります。グレードアップ後のクオリティに応じて、上がるレベルの値は異なります。 クオリティ レベル上昇 →アンコモン +1 →レア +2 →エピック +4 →レジェンダリー +6 →ウルトラ +8 →インフィニティ +10 ▶︎まずはレベル「500」を目指そう コレクションレベルが「500」を超えると、さまざまな特典を得られます。 特に重要なのは下記のふたつです。トークンショップ解禁:コレクションレベルが「500」以上になると、トレジャーボックスで得られる報酬に「コレクタートークン」が追加されます。トークンショップは、このトークンを支払ってカードを購入する、特殊なショップです。 スポットライト・トレジャー:コレクションレベル「500」以降でしか登場しない、とても豪華なトレジャーボックスです。詳細は後述します。 スポットライト・トレジャー スポットライト・トレジャーを活用すると、シリーズ4以上のレアカードを、比較的ラクに揃えることができます。 ▶︎どんなカードが手に入る? 報酬の内訳は、その週に登場した最新カードが1種類、シリーズ4以上の既存カードが2種類、ランダムなカードが1種類です。報酬は1週間ごとに変更されます。その週で取れなかった報酬は、次の週には持ち越せません。 4種類すべて獲得した後もトレジャーの入手は可能です。その場合、その週に用意された報酬のヴァリアントを入手できます。 報酬の内容は、事前に告知されます。シーズン開始時にまとめて告知されます。3〜4週間ほど先の内容も告知されるので、こまめにチェックするとよいでしょう。 ▶︎どうやって入手する? コレクションレベルを上げると、レベル「120」につき1個の頻度で、スポットライト・トレジャーを開封するための鍵となる「スポットライト・キー」が手に入ります。「無課金でも、ミッションを順調にこなしていけば、約1週間でひとつ手に入る」程度の頻度です。 キーはストックできます。4個キープしておき、特定の週でまとめて開ければ、その週のスポットライト報酬をすべて手に入れることができます。 アップデート履歴 2023/07/12 ・「スポットライト・トレジャー」が実装されました。 2023/10/31 ・「スポットライト・キー」が追加されました。・スポットライト・トレジャーの開封方法が変わりました。(ボタンを押す→ボタンを長押しする) ▶︎用語集へ戻る ▶︎トップページへ戻る
https://w.atwiki.jp/secretarycollection/pages/13.html
概要 KONAMI開発のソーシャルゲーム GREEにて、2011年08月からサービスを開始 公式 http //www.konami.jp/products/sns_gre_hishocollection/ DB http //hishokore.mgdb.jp/ 現行スレ 【GREE】秘書コレクション 仕事12日目 過去スレ 【GREE】秘書コレクション 仕事11日目 【GREE】秘書コレクション 仕事10日目 【GREE】秘書コレクション 仕事9日目 【GREE】秘書コレクション 仕事8日目 【GREE】秘書コレクション 仕事7日目 【GREE】秘書コレクション 仕事6日目 【GREE】秘書コレクション 仕事5日目 【GREE】秘書コレクション 仕事4日目 【GREE】秘書コレクション 仕事3日目 【GREE】秘書コレクション 仕事2日目 【GREE】秘書コレクション【初任給は573】 編集ルール(暫定) お知らせ暫定立ち上げ、移植中 今のところ誰でも編集できるけど、新規ページは作れないよ 管理者からIPを閲覧できるので、悪いことしたらおしおきするよ ページを作るページ名はちゃんと階層構造を意識して作ってね。 ページ名に半角カタカナは使わないでね(使えないなら問題なし) ページ名のアルファベットは半角にしてね(気分的に) 攻略情報 秘書リストセクシ- 癒し 知性 図鑑図鑑/セクシー 図鑑/癒し 図鑑/知性 //--図鑑/コンプリート特典? ミッション次世代SNSエリア? 以下、編集中 雑談コーナー 名前 ここを編集
https://w.atwiki.jp/jiisan/pages/8.html
まったく考えていなかったできごと(2003年9月21日) 9月21日妻から、「娘、明日病院に行くのよ」と聞かされました。 「何事か?」と聞くと、「腕が痛いらしい」とのこと。 「アー、それはテニスのせいだろう。成長期に良くある骨の痛みだろう、まぁ、さほどのこともあるまい」と、たかをくくっていました。 これはあとから娘に聞いた話ですが、実は4月ごろから、少し痛みを覚えていたそうです。ところが娘もそれを中学から始めたテニスのせいだと思い、あまり気にしていなかったそうです。 中学になってから始めたテニスが不幸な偶然でガンの発病と重なり、それにより自覚症状が出てから半年もの時間が経過してしまったのです。 そしてその晩、妻から、「チョット気になるから、総合病院で診てもらうようにと、先生に言われたと」聞いたとき、悪い予感が頭いっぱいに広がっていきました。 この「チョット気になる」は以前にも聞いたことがあります。 妻の乳ガン それはさかのぼることさらに3年前、2000年の秋、妻が実家の近くの婦人科で検診を受けたところ、「チョット気になるから、市民病院で診てもらうように」と言われたのでした。 結果は「乳ガン」。しこりが気になり検診に行ったのですから、いわゆる初期の段階ではなかったのでしょう。 乳房をとる手術をすることになりました。同時に、自分の腹の肉をそのあとに移植する形成の手術も行うことになったので、10時間にもおよぶ大手術になりました。 幸いにも県内でも名医と評判の先生の執刀だったので手術は成功し、術後の回復も順調で約2週間の入院生活ですみました。 しかしその間私は、妻の看病、娘たちの世話、慣れない家事などに追われ、仕事も満足にできない状態が続いたのです。 このようなつらい記憶がこの「チョット気になる」という言葉でよみがえり、不安とイライラの日々がスタートしたのです。 頼む、まちがいであってくれ(9月29日) 9月24日・25日の両日、総合病院でレントゲンとMRIの検査を受け、9月29日にその結果を聞きに行くことになり、私も同行しました。 その前夜、妻が、「私一人じゃ心細いから、お父さんも一緒にきて」と頼んだのです。 一応平静は装っていたようですが、やはり非常に不安だったのでしょう。 自分もガンでは本当につらい思いをしてきたのです。最愛の娘に自分と同じような思いはさせたくないでしょう。 「自分の時より、全然ドキドキする。ホント、気が狂ってしまいそう」と娘の前では見せられない涙を流しながら訴えてきたのです。 私も安易ななぐさめの言葉もかけられず、ただ、「わかった」と言うしかありませんでした。 そして病院へ、待合室で長いような、短いような、何とも形容しがたい重苦しい時間が過ぎ、ついに娘の名前が呼ばれました。 そこで先生の口から出た言葉は、「骨肉腫の疑いが強くあるので、大学病院で専門の検査と治療を受けてください」ということでした。 私と、妻と、娘本人の3人がいるところで、ハッキリそう言われたのです。 現在では、本人にもある程度隠さずに伝えるのでしょう。 娘の反応が少し不安でしたが、実感がわかないのか、普段とそれほど変わらない表情を浮かべていました。 まだ完全に確定ではないにしろ、事態はますます重大かつ深刻な方向へ向かい始めたのです。 舞台は大学病院へ そしてその日のうちに、大学病院に行くことにしました。いたずらに時を延ばしても、精神的な苦痛はさらに大きくなるだけだと判断したのです。 そして舞台はいよいよ大学病院へ。 家から車で30分くらいのところにあるその病院は、古い診察棟、約1年前に建て替えられた新しい入院棟、さらに歯科病棟、そして研究施設などが建ち並び、その陣容に圧倒される雰囲気でした。 立体駐車場の屋上に車を止め、施設の全容をながめながら、「あー、今度はここで戦いが始まるのだなぁ、それもよりによって娘が主役の戦いが……」と心の中で深いため息をつきました。 3年前の妻の乳ガンの時もそうですが、「自分が主役であってくれた方が、よっぽど気が楽なのに……」うそ偽りなくそう思えるのです。 妻の病院はここからさらに車で10分ほどの市民病院、県の中心部にある大病院でしたが、ここはさらにそこを上回る規模でした。 あの時の苦闘の日々を思い返しながら、そして今回の戦いが勝利で終わることを祈りながら、いよいよ大学病院に足を踏み入れたのです。 大学病院では整形外科のS先生の診察を受けました。 先生は総合病院で撮ったMRIの写真を見ながらおっしゃいました。 「骨肉腫にしてはできる部位が珍しい、他の病気または単なる骨折の疑いもあるように思われます」 手の骨肉腫はたいてい「肩」にできるもので、娘のように「上腕部」に発生するのはあまり例がないそうです。 「手術をし、組織を取って調べないと最終的な判断は下せない」とのことでした。 「病室が空き次第入院してもらい、最終的な検査をいたしましょう」ということでこの日は帰りました。 2軒も病院を回る長い1日でしたが、とにかく結果は持ち越しです。 他の軽い病気や単なる骨折の可能性もあるという希望も出ましたが、それ以上にイライラ感が大きくなったような気がしました。 明るく、前向きに、楽しく生きる その夜私は、娘と妻に話しをしました。 口下手な私は家族ともあまり話しをすることはなかったのですが、この時ばかりは自分として何かできることをしなければならないという気持が強くなったのです。 このころ、私は1冊の本を読んでいました。 それは春山茂樹先生著の『脳内革命』という本で、娘にとって非常に素晴らしい内容のことが書かれていたのです。 それはいわゆる「病は気から」というのは本当のことで、人間の身体というのは精神と非常に密接な関係にあるということが書かれている本でした。 明るく、前向きに、楽しく生きる人には、脳から「脳内エンドルフィン」という、どんな薬にも勝る、素晴らしい物質が分泌され、身体を非常に良い方向に導いてくれる。その逆に落ち込んでいたり、いつもイライラしたりしていると、健康を損なう恐れすらあるということです。 私はこの本に書かれている内容をできるだけ詳しく、娘と妻に話しました。 そして、「これからいろいろと、つらいことや苦しいことが起こるかもしれないけれど、常に明るく、前向きに、楽しく生きていくように」と希望しました。 娘はだいたい理解してくれたようです。 そして実際明るく、前向きに、楽しく生きてくれたのです。 心の奥底ではどんなにつらく、苦しく、悲しかったことでしょう。それでもけなげなくらいに、明るく、前向きに、楽しく生きてくれています。 私がこの時期にこの本を読んでいたのは単なる偶然です。 娘の病気が発覚する前に、近所の古本屋さんで100円で購入したものだったのです。その日はたまたま私の好きな時代小説の面白そうな本がなかったので、「まあ、100円ならいいか」と軽い気持で買ったような記憶があります。 私自身、もしこの時期にこの本を読んでいなかったら、娘の病気という重荷に押しつぶされていたかもしれません。まさに私の人生模様をこの本によって教えていただいたといっても過言ではないと思います。 その後読んだ、安保徹先生著の『免疫革命』にも、さらに詳しく科学的に解説されており、精神の健康が肉体の健康にとってどれほど重要で、かつ必要なものかどうかということを学ばせてもらいました。 ついに入院(10月7日) 10月7日、ついに入院生活の始まりです。 7階の東病棟、4人部屋の窓際のベッドが、娘に与えられた空間でした。 担当の看護師さんより、病院内の施設や設備の説明を受けました。 1年前に建て替えられたばかりの入院棟は、とてもきれいで、2階には売店、食堂、図書館などもあり、さらに長期入院する子供たちのための「院内学級」もありました。 各階にもサンルーム、デイルームなどの患者さんたちのための部屋もとってあり、病室も窓も大きく、とても明るい雰囲気です。 各ベッドには液晶テレビがついていて、妻が入院していた市民病院よりも、格段に過ごしやすそうな設備と雰囲気でした。 これから入院生活がもし長くなるようなことがあると、この過ごしやすさというのは、とても大きな意味を持つなと感じました。 娘も、まあ気に入ったようで、とりあえずはホッとしました。 11時に入院して、病院内の説明も昼までに終わり、私としては用事がなくなったのですが、この日は仕事を完全に休んで病院に残ることにしました。 私の仕事は配管工で、小さいながらも一応自営ですので休みは自由になります。ただしサラリーマンと違って、仕事をしなければ、1円の収入にもなりません。おりからの建設業界の不況にも見舞われて、経済的にはそれほど余裕のある生活とはいえませんでした。 今後、さらに仕事をする時間が減ると当然収入も減ることが予想されます。これからの娘の入院生活、さらに妻もまだ術後の治療を続けており、私は経済的不安もいっぱいありました。 それでもとにかく、娘の病気を治すことを最優先とし、そして妻にも負担をかけないために、金銭のことはいっさい口にするのはよそうと自分の心に誓いました。 どれほど借金をしてもいい、仕事より娘の身体を治すこと、そして家族のことを優先で生きていこうと方針を決めました。 涙、涙、涙 病院の面会時間は8時までです。それを告げるアナウンスも流れてきました。 それまで元気で明るく振舞っていた娘の眼がみるみる赤くなっていきました。 修学旅行以外では初めて一人で夜を過ごさなければならないのです。それも病院のベッドで、自分が恐ろしい病気におかされているかもしれないことを知りながら……。 中学1年の13歳の女の子が、大人でもない、子供でもない微妙な年頃の娘がです。どれほど心細かったことでしょう。 どれだけ妻に「お願い、帰らないで」言いたかったことでしょう。 妻の眼にも涙が浮かんでいました。 何度も「もう帰るよ」と言いながらも、その都度なんでもない話題を見つけ、ギリギリ時間を引き延ばしてきましたが、ついに廊下の電気も消え、消灯のアナウンスが聞こえてきました。 眼を真っ赤にしながら、小さな涙の粒を二つだけ見せながら、それでも精一杯の笑顔を作って、娘は妻とハイタッチをして、妻も「おやすみ」も「明日またくるよ」の言葉も出ず、ただただ崩れ落ちそうになる笑顔を必死で持ちこたえながら、ハイタッチに応えていました。 そしてもう薄暗くなってしまった廊下に出ました。 私も妻もまったく無言で、できるだけ急ぎ足で駐車場まできて、車に乗り込みました。 そして私がエンジンをかけると同時に妻が「お願い、今日だけは泣かせて」とかろうじてつぶやいたとたん、声をあげて泣き崩れてしまいました。 病院から家までの30分間、妻は泣き続けていました。 家に帰っても、なんの会話もなく、お互いの仕事を淡々とすませ、床に入りました。 今までは狭い部屋に蒲団を重ねるように3組敷いていたのですが、今日からは2組です。何と物足りない空間でしょう。 妻が電気を消すのを待って、私もようやく涙を流すことができました。 手術(10月8日) 次の日は手術です。 これは実際に患部の細胞を採集して、専門的な病理検査をして最終的な病名を診断するための手術です。 手術自体は簡単なものだという説明を受けていましたが、娘にとっては初めての経験です。 手術着を着せられ、手術のための準備をしている間、娘は妻とおしゃべりをして、思ったより落ち着いているように見えました。それでも手術室に入る時は当然一人です。どんな気持で入っていったことでしょう。 「本当にできることなら代わってあげたい」 その思いは妻の方が私よりも強く思っていたことでしょう。 ほどなく娘は病室に帰ってきました。 手術は全身麻酔で行われていたので、麻酔がさめる時に軽い吐き気があったものの、娘は思ったより元気そうです。妻と手術の時の感想を話したりして、時々笑顔が見られることもありました。 さすがにこの日は妻は病院に泊まることにして、私は一人病院をあとにしました。 この日の検査の結果で最終的な診断が下るのです。 なかば覚悟しているものの、それでもヒョッとしたら、実はなんでもなかったという結果が出ることを祈りつつ、この検査の結果が出るまでの数日間が、私にとってもっともイライラした、落ち着かない時間であったと思います。 やはり「骨肉腫」(10月20日) そして10月20日に検査の結果についての話がありました。 結果はやはり「骨肉腫」。 それも「非常に活発な細胞のように見受けられます」とまで言われました。 覚悟していたとはいえ、やはりあまりにも厳しい宣告でした。 最初、私と妻のみが呼ばれ、この事実を娘にも伝えるかどうかという質問を受けました。少し迷いましたが、すでに骨肉腫の恐れがあるというのは知っていますし、今後の治療に対する心構えもありますので、すべて隠さずに娘にも伝えてもらうことにしました。 改めて3人で病気についての説明を受け、今後の治療の方針を聞くことになりました。 まず、5クールの抗ガン剤治療を、手術に先立って行うということです。 これは抗ガン剤によって腕の腫瘍を縮小させ、手術の負担をできるだけ少なくするとともに、それ以外にあるかもしれない、目に見えないガン細胞をたたいていく目的のためにするものです。 特に骨肉腫は、肺転移することが多くみられ、これが文字通り命取りになることがあるので、この術前の抗ガン剤治療は絶対に必要なものだという説明を受けました。 最初の3クールは同じ薬を使い、そこで検査をし、薬の効き具合と身体の様子を見たうえで、次の2クールの薬を決めていくとのことでした。 そしてだいたい3月の前半ころに手術を予定して、その後また半年間、抗ガン剤治療を行い、全部で約1年間の治療期間になるとの説明を受けました。 現在では、骨肉腫はこのパターンの治療が主流で、5年生存率は約70%に上がっているということです。70%とはなんとも心もとない微妙な数字ですが、娘がこの70%の方に入るように祈っておりました。 妻の乳ガンもやはり5年生存率は70%ですと言われ、今(約3年目)とても元気なので、現代の医学なら何とかしてくれるのではないかと期待しておりました。 つぎへ 「治療、そして最悪の事態」>
https://w.atwiki.jp/arcanafamigliacolle/pages/21.html
コレクション 各6色のコレクションアイテムを揃えると、特別指令に挑戦できます。 現在15種のシリーズがあります。(今後更新される可能性があります。) パーパへのプレゼントセット(赤・橙・緑・紫・黄・青の6色のプレゼントBOX) 報酬:幼少フェル バールのワインセット 報酬:幼少デビト ダンディな葉巻セット 報酬:若きダンテ リストランテのディッシュセット 報酬:幼少パーチェ 錬金術のフラスコセット 報酬:少年ルカ カッコイイ仮面セット 報酬:幼少リベルタ スミレの花セット 報酬:幼少ノヴァ レガーロの土セット 報酬:若きジョーリィ おいしいリンゴセット 報酬:幼少アッシュ 不思議なカードセット 報酬:若きモンド 形見のモノクルセット 報酬:若きヨシュア お揃いのリボンセット 報酬:[想い出]幼少フェル 手作りアクセセット 報酬:[想い出]幼少リベルタ 集めたおはじきセット 報酬:[想い出]幼少ノヴァ 薬草の小袋セット 報酬:[想い出]少年ルカ 情報不足です。編集できる方は直接編集をお願いします。 編集できない方も、コメントに情報投稿お願いします。 不思議なカードセット 報酬:若きモンド -- zoe (2013-04-12 12 44 52) 名前 コメント
https://w.atwiki.jp/chaos-blade/pages/124.html
・2013.09.03現在(新規カードが追加される毎に一部変動します) ・一部入手してもコレクションに登録されないカードがあります(海姫の妖魂等) ・カード名が???となっている場所は現在空欄です。 ・招き猫系の下段(招き猫の2進~4進の枠)等、入手不可能な家臣等もあります。 1~10 11~20 21~30 31~40 41~50 51~60 61~70 71~80 81~90 91~100 101~110 111~120 121~130 131~140 141~150 小ネタ 排他関係 R雫⇔HR雫(どちらか1種類のみ) 入手不可 20-9~12 鳳凰天狗(未発表家臣。恐らく実装忘れ)最近実装されました 83-6~8 [如月]招き猫 にゃんてつ(誤記家臣。恐らく消し忘れ) 92-5~7 [咥斬]招き猫 にゃんべえ(誤記家臣。恐らく消し忘れ) スキルレベルアップ剤【2】、スキルレベルアップ剤【3】(未実装家臣) 現状の可能な獲得家臣数の最高数値 2275/2288(99%) 100%にはどれだけ頑張ってもなりません
https://w.atwiki.jp/tm-mura/pages/62.html
コレクション Collectionのサブクラスを紹介。(Array、OrderedCollection、List、Set、Bagなど) Stringとそのサブクラス(SymbolやByteString)、Dictionaryは別管理しているのでそちらを参照。 Collectionには順番が保障されているタイプ(以下、配列型と表記)とされていないタイプ(以下、集合型と表記)がある。 SequenceableCollectionのサブクラスか否かで決まる。 Collectionのサブクラスのメジャーなクラスの特徴 Array: 配列型。リテラルで定義することができる。項目の追加・削除を禁止している。 OrderedCollection: 配列型。項目追加・削除ができ、いはゆる配列というイメージに最も近い振る舞いをする。 List: 配列型。項目追加・削除ができる。いまいちOrderedCollectionとの使い分けのポイントがわからないが、位置を指定した追加や削除に向いているはず。 SortedCollection 配列型。ソートされた状態が保障されている配列。ソートブロックを内包している。 Set 集合型。重複のない集合。 Bag 集合型。重複を許し、さらに重複項目の重複数まで保持している。 SelectionInList 画面を表示するときのリストボックスに使われる。Listと選択中インデックスを保持している。 SelectionInListSortAware 画面を表示するときのデータセットに使われる。List、選択中インデックス、ソート項目とその方向を保持している。 7.0~のマイナーバージョンアップの間に増えたメソッドも結構あるみたいだ。 作る 空のコレクションを作る 特定の値でコレクションを作る 任意の値のコレクションを作る コレクション(配列型)を結合する 調べる コレクションの要素数を調べる コレクションが空か調べる コレクションが空でないか調べる コレクションが空でないか調べる2 コレクション(配列型)があるコレクション(配列型)で始まるか調べる コレクション(配列型)があるコレクション(配列型)で終わるか調べる コレクションにある要素が含まれているか調べる コレクションにある条件に合致する要素が含まれているか調べる コレクションの全ての要素が条件に合致するか調べる コレクションの要素のどれか一つ以上が条件に合致するか調べる 探す コレクション(配列型)のある要素の位置を先頭から探す コレクション(配列型)のある要素の位置を最後から探す コレクション(配列型)の要素がある条件にマッチする最初の位置を返す コレクション(配列型)の要素がある条件にマッチする最後の位置を返す 比較対象のコレクション(配列型)と合致する最初の位置を探す ある条件に合致する要素を取得する 修正する コレクション(配列型)の指定した要素を置換する コレクション(配列型)の指定した範囲を置換する コレクション(配列型)の一部を置換する コレクションの各要素を与えた条件に修正する 取り出す コレクション(配列型)の1文字目を取得する コレクション(配列型)の最後の文字を取得する コレクション(配列型)の指定した位置の文字を取得する コレクション(配列型)の先頭から指定した要素数分を取得する コレクション(配列型)の最後の指定した要素数分を取得する コレクション(List、OrderedCollection)の指定した要素の次を取得する コレクション(List、OrderedCollection)の指定した要素の前を取得する 指定した要素数を先頭から取り除いたコレクション(配列型)を返す 指定した要素数を最後から取り除いたコレクション(配列型)を返す 任意の位置から任意の位置までコレクション(配列型)を切り出す 指定したオブジェクトの手前までを切り出す 指定したオブジェクトを取り除いたコレクションを返す ある条件に合致する要素だけを残したコレクションを返す 除く コレクションの指定した要素を取り除く コレクション(配列型)の最初の要素を取り除く コレクション(配列型)の最後の要素を取り除く コレクション(配列型)の指定した位置の要素を取り除く コレクションの要素を全て取り除く コレクションから指定したコレクションの要素と一致する要素を全て取り除く コレクション(配列型)の指定した範囲の要素を取り除く コレクションから条件に合致する要素を全て取り除く 条件に合致する要素を全て取り除いたコレクションを返す 追加する コレクション(List、OrderedCollection)の最後に要素を1つ追加する コレクション(List、OrderedCollection)の最後に要素を追加する2 コレクション(List、OrderedCollection)の最初に要素を追加する コレクション(List、OrderedCollection)の最後にコレクションを追加する コレクション(List、OrderedCollection)の最後にコレクションを追加する2 コレクション(List、OrderedCollection)の最初にコレクションを追加する コレクション(List、OrderedCollection)のafter で指定した要素の後に要素を追加する コレクション(List、OrderedCollection)のafter で指定した要素の前に要素を追加する コレクション(List、OrderedCollection)の指定した位置の前に要素を追加する コレクションをコピーしつつ最後に要素を1つ追加する Bagに出現頻度付きで要素を1つ追加する ループする コレクションの各要素に対し順番に処理を行う コレクション(配列型)のインデックスに対し順番に処理を行う コレクション(配列型)の各要素・インデックスに対し同時指定で順番に処理を行う コレクションの各要素に対し順番に処理を行いつつ合間にも処理を行う 同じサイズのコレクション(配列型)同士で各要素に対し順番に処理を行う 並べ替える コレクションをソート済コレクション(SortedCollection)にする コレクションを条件指定でソート済コレクション(SortedCollection)にする コレクション(配列型)を破壊的にソートする コレクション(配列型)を条件指定で破壊的にソートする コレクション(配列型)を条件指定で破壊的にソートする コレクション(配列型)の指定した位置同士を入れ替える 結合する コレクションの各要素をつなげる コレクションの各要素を重ねあわせる(集計関数っぽいことをやる) 区切る コレクション(配列型)を指定したトークンで区切る コレクション(配列型)を条件にマッチする要素で区切る コレクション(配列型)を条件にマッチする要素で区切りつつループもする コレクション(配列型)を条件にマッチしない要素で区切る コレクション(配列型)を条件にマッチしない要素で区切りつつループもする コレクション(配列型)を要素の前後関係を判断して区切る コレクション(配列型)を要素の前後関係を判断して区切りつつループもする まとめる コレクションをユニークな(重複のない)コレクションにする コレクションに重複数のデータも持たせる コレクションをtrue側false側に二分する その他 コレクションのある要素の重複数を調べる コレクション(配列型)の順番を反対にする コレクション(配列型)各要素に対し逆から順番に処理を行う 作る 空のコレクションを作る Array new 10 まずはここから。適当なクラス new n とすればだいたいどのクラスでも作成できる。 ただし、メモリ空間を確保しただけで実際に at n でアクセスするとエラーになるクラスのほうが多い。 終端を表すインスタンス変数(lastIndexとかlimitとかtallyとか)が0のままだからだ。 そういうクラスで終端を後付で変更することなしにアクセスしたい場合は OrderedCollection withSize 10 とする。 特定の値でコレクションを作る Array new 10 withAll 0 ArrayかStringで理解できる。他のクラスで作りたい場合は(Array new n withAll x) asXxxxとする。 (Array new 5) atAllPut 0 としてもよい。 任意の値のコレクションを作る Array(リテラル)の場合 #($a $b 1 2 3 Hello #World) いくつでも設定できる。 Array(withメソッド)の場合 Array with Date today with Time now withは4つまで。そこまでしかメソッドが用意されていない。 もっと作りたい場合は(Array with with with with ),(Array with )のようにカンマでつなぐ。 OrderedCollectionの場合 (foo = OrderedCollection new) add 1; add 2; add 3; yourself これ1行でfooの中に3つの項目が入る。 Listの場合 (foo = List new) at 1 put $a; at 2 put $b; at 3 put $c; yourself これ1行でfooの中に3つの項目が入る。 storeOn メソッドを読むと、どのように書けばオブジェクトが作れるかわかる。 コレクション(配列型)を結合する #($a $b $c), #(1 2 3) 調べる コレクションの要素数を調べる #($a $b $c) size 要素数を調べる。コレクションが空か調べるために aCollection size = 0 ifTrue [...]とかやるのを見かけるが、 そういう場合は下記のisEmpty等が用意されているのでそれらを使うべきだろう。 コレクションが空か調べる Array new isEmpty コレクションが空の場合trueを返す。 コレクションが空でないか調べる #($a $b $c) isNotEmpty コレクションが空でないか調べる2 #($a $b $c) notEmpty コレクションが空でない場合trueを返す。 isEmptyの逆がどっちかわからなくなってもいいように2種類用意されていると思われる。 コレクション(配列型)があるコレクション(配列型)で始まるか調べる #($a $b $c) beginsWith ab ArrayとStringで比較しているが、at メソッドを理解できるクラスなら比較可能。この場合trueになる。 コレクション(配列型)があるコレクション(配列型)で終わるか調べる #($a $b $c) endsWith bc beginsWith の逆からメソッド。 ArrayとStringで比較しているが、at メソッドを理解できるクラスなら比較可能。この場合trueになる。 コレクションにある要素が含まれているか調べる #( Zun Zun ZUN zun Doko ) includes Doko 要素が含まれていればtrueを返す。 位置まで知りたければindexOfかlastIndexOf を用いる。ブロックで条件指定したければcontains を用いる。 コレクションにある条件に合致する要素が含まれているか調べる #( Zun Zun ZUN zun Doko ) contains [ i | *zun* match i] 条件に合致する要素が含まれていればtrueを返す。 条件に合致する要素を取得したい場合はdetect を用い、位置を取得したい場合はfindFirst またはfindLastを用いる。 コレクションの全ての要素が条件に合致するか調べる #(1 3 5 7 9) allSatisfy [ i | i odd] 全ての要素が条件に合致すればtrueを返す。 コレクションの要素のどれか一つ以上が条件に合致するか調べる #(2 4 6 8 0 1) anySatisfy [ i | i odd] 要素のどれか一つでも条件に合致すればtrueを返す。 探す コレクション(配列型)のある要素の位置を先頭から探す #($a $b $c $b) indexOf $b 要素が見つからなければエラーになるので、回避策としてindexOf ifNone もあり。 ブロックで条件を指定したければfindFirst を用いる。 コレクション(配列型)のある要素の位置を最後から探す #($a $b $c $b) lastIndexOf $b indexOfの逆からメソッド。要素が見つからなければエラーになるので、回避策としてlastIndexOf ifNone もあり。 ブロックで条件を指定したければfindLast を用いる。 コレクション(配列型)の要素がある条件に合致する最初の位置を返す #($a $B $c $D) findFirst [ i | i isUppercase] どの要素も条件に合致しない場合は0を返す。 コレクション(配列型)の要素がある条件に合致する最後の位置を返す #($a $B $c $D) findLast [ i | i isUppercase] どの要素も条件に合致しない場合は0を返す。 比較対象のコレクション(配列型)と合致する最初の位置を探す #(1 2 3 4 5 6 7 8 9 0) indexOfSubCollection (3 to 6) startingAt 2 コレクション(配列型)同士の比較を行う。インターバル(3 to 6)も配列型コレクションのサブクラスなので比較可能。 文字列にも使えるが、文字列の場合はfindString startingAt が用意されている。 ある条件に合致する要素を取得する #( Zun Zun ZUN zun Doko ) detect [ i | *zun* match i] 4つの「ect」メソッドの1つ。 条件に合致する要素が含まれていない場合はエラーになるので、回避策としてdetect ifNoneもあり。 条件に合致する要素があるか真偽を問う場合はcontains を用い、位置を取得したい場合はfindFirst またはfindLastを用いる。 (XXXXX detect [YYYY] ifNone [nil]) isNil ifTrue [ZZZ] なんていうのを見かける。contains の存在に気づいて欲しい。 修正する コレクション(配列型)の指定した要素を置換する Good morning beMutable replaceAll $o with $a 破壊的メソッドで、リテラル文字列でもbeMutableすれば破壊的修正が可能。文字列で使うことがほとんどだと思う。 開始終了位置を指定できるcopyReplaceFrom to with というメソッドもある。 コレクション(配列型)の指定した範囲を置換する Good morning beMutable replaceFrom 1 to 4 with Bad 破壊的メソッドで、リテラル文字列でもbeMutableすれば破壊的修正が可能。 from to の範囲とwith の文字数が合わないとエラーになる。文字列で使うことがほとんどだと思う。 コレクション(配列型)の一部を置換する #($a $b $c $d) copyReplaceAll cd with #(1 3) 開始終了位置を指定できるcopyReplaceFrom to with というメソッドもある。配列型コレクション同士なら置換可能。 コレクションの各要素を与えた条件に修正する #(1 2 3) collect [ i | i * 2] よく#(1 2 3) do [ i | i * 2]とやってもコレクションが変わらないと嘆くのを見かけるが、 do でアクセスする要素はリードオンリーなので、これで対応する。 取り出す コレクション(配列型)の1文字目を取得する #($a $b $c) first コレクション(配列型)の最後の文字を取得する #($a $b $c) last コレクション(配列型)の指定した位置の文字を取得する #($a $b $c) at 2 コレクション(配列型)の先頭から指定した要素数分を取得する #($a $b $c) first 2 コレクション(配列型)の最後の指定した要素数分を取得する #($a $b $c) last 2 コレクション(List、OrderedCollection)の指定した要素の次を取得する #($a $b $c) asList after $b 指定した要素が見つからなければエラー、指定した要素が最後の場合もエラー。 findIndexOf を利用して+1しているだけ。 コレクション(List、OrderedCollection)の指定した要素の前を取得する #($a $b $c) asList before $b 指定した要素が見つからなければエラー、指定した要素が最初の場合もエラー。 findIndexOf を利用して-1しているだけ。 指定した要素数をコレクション(配列型)の先頭から取り除く #($a $b $c) allButFirst 1 指定した要素数をコレクション(配列型)の最後から取り除く #($a $b $c) allButLast 1 任意の位置から任意の位置までコレクション(配列型)を切り出す #($a $b $c) copyFrom 1 to 2 汎用性の高さには定評があるように思う。 指定したオブジェクトの手前までコレクション(配列型)を切り出す #($a $b $c) copyUpTo $b 長いコレクションになると信頼性は低いだろうなぁ。 指定したオブジェクトを取り除いたコレクションを返す #(1 nil 3 nil nil 6 7 nil nil 0) copyWithout nil nilを指定すればrubyでいうcompactと同じ動きになる。 ある条件に合致する要素だけを残したコレクションを返す #(1 2 3 4 5 6 7 8 9 0) select [ i | i odd] 4つの「ect」メソッドの1つ。逆に除く場合はreject を用いる。 除く コレクションの指定した要素を取り除く foo = #($a $b $a $c $a $d) asList. foo remove $a 破壊的メソッドで、実行後、コレクションをもう一度見てみると指定した値が除かれている。 また、remove の返り値は指定した値になる。 指定した要素が見つからない場合はエラーになるので、回避策としてremove ifAbsentもあり。 コレクション(List、OrderedCollection)の最初の要素を取り除く foo = #($a $b $c) asList. foo removeFirst 破壊的メソッドで、実行後、コレクションをもう一度見てみると最初の要素が除かれている。 また、removeFirstの返り値は指定した最初の要素の値になる。いはゆるキューを実現できる。 コレクションが空の場合はエラー。 コレクション(配列型)の最後の要素を取り除く foo = #($a $b $c) asList. foo removeLast 破壊的メソッドで、実行後、コレクションをもう一度見てみると最後の要素が除かれている。 また、removeLastの返り値は指定した最後の要素の値になる。いはゆるスタックを実現できる。 コレクションが空の場合はエラー。 コレクション(List、OrderedCollection)の指定した位置の要素を取り除く foo = #($a $b $c) asList. foo removeAtIndex 2. 破壊的メソッドで、実行後、コレクションをもう一度見てみると指定した位置の要素が除かれている。 また、removeAtIndex の返り値は指定した位置の要素の値になる。 コレクションのサイズより大きい位置を指定した場合はエラー。 コレクション(List、OrderedCollection)の要素を全て取り除く foo = #($a $b $c) asList. foo removeAll 破壊的メソッドで、実行後、コレクションをもう一度見てみると空になっている。 また、removeAllの返り値はコレクションの値そのものになる。 実際の動きは1項目ずつremove するので遅い。 コレクションのから指定したコレクションの要素と一致する要素を全て取り除く foo = #($a $b $c) asList. foo removeAll #($a $b) 破壊的メソッドで、実行後、コレクションをもう一度見てみるとコレクションと共通する要素が除かれている。 また、removeAllの返り値はコレクションの共通要素になる。1つでも見つからないとエラーになる。 実際の動きはレシーバと引数の直積になるので遅い。 コレクション(配列型)の指定した範囲の要素を取り除く foo = #($a $b $c) asList. foo removeFrom 1 to 2 破壊的メソッドで、実行後、コレクションをもう一度見てみると指定した範囲の要素が除かれている。 また、removeFrom to の返り値は指定した範囲のコレクションになる。 コレクション(List、OrderedCollection)から条件に合致する要素を全て取り除く foo = #(1 2 3 4 5 6 7 8 9 0) asList. foo removeAllSuchThat [ i | i odd] 破壊的メソッドで、実行するとコレクション自身を変更しつつ、条件を満たすものを返り値として抽出することができる。 Visualworks界の最強のキラーメソッドと確信している。実力は中村主水並みだと思う。 条件に合致する要素を全て取り除いたコレクションを返す #(1 2 3 4 5 6 7 8 9 0) reject [ i | i odd] 4つの「ect」メソッドの1つ。逆に残す場合はselect を用いる。 remove系のメソッドと異なり、破壊的ではない。 追加する コレクション(List、OrderedCollection)の最後に要素を1つ追加する (OrderedCollection new) add 1; add 2; add 3; yourself 任意の値のコレクションを作るところでも活躍。 コレクション(List、OrderedCollection)の最後に要素を追加する2 (OrderedCollection new) addLast 1; addLast 2; addLast 3; yourself add と使い方は同じ。 コレクション(List、OrderedCollection)の最初に要素を追加する (OrderedCollection new) addFirst 1; addFirst 2; addFirst 3; yourself add やaddFirst とは逆に、先頭に追加する。 コレクションの最後にコレクションを追加する #(1 2 3) asList addAll #(4 5 6);yourself コレクションの最後にコレクションを追加する。 コレクション(List、OrderedCollection)の最後にコレクションを追加する2 #(1 2 3) asList addAllLast #(4 5 6);yourself addAll と使い方は同じ。 コレクション(List、OrderedCollection)の最初にコレクションを追加する #(1 2 3) asList addAllFirst #(4 5 6);yourself コレクションの最初にコレクションを追加する。 コレクション(List、OrderedCollection)のafter で指定した要素の後に要素を追加する #($a $b $c) asList add $d after $a ;yourself コレクションを順番に見ていって挿入する位置を探すのでちょっと遅い。 コレクション(List、OrderedCollection)のafter で指定した要素の前に要素を追加する #($a $b $c) asList add $d before $a ;yourself コレクションを順番に見ていって挿入する位置を探すのでちょっと遅い。 コレクション(List、OrderedCollection)の指定した位置の前に要素を追加する #($a $b $c) asList add $d beforeIndex 2 ;yourself add after とadd before は対になっているのに、なぜかこれはbeforeしかない。 コレクションの最後に要素を1つ追加した状態のコピーを作る #($a $b $c) copyWith $d Arrayは要素を追加することが許されていないが、コピーを作る時についでに追加という感じならOK。 Bagに出現頻度付きで要素を1つ追加する foo = #(1 3 5 8 5 6 2 3 5 7 6 9 5 4) asBag. foo add 1 withOccurrences 9. foo 既に存在する要素であれば出現数が加算される。 ループする コレクションの各要素に対し順番に処理を行う #( Hello World ) do [ i | Transcript cr; show i] もっとも基本的なループ。その汎用性ゆえに至る所で使われるが、今一度、do を使った車輪の再開発をしていないか見直して欲しい。 ちなみにブロック内で使う引数は参照専用なので、do を使って自身の値を =で書き換えることはできない。 コレクション(配列型)のインデックスに対し順番に処理を行う foo = Array new 5. foo keysDo [ i | foo at i put i] コレクションのインデックスで何かしたいときに使う。自身の配列にアクセスすることも可能。 コレクション(配列型)の各要素・インデックスに対し同時指定で順番に処理を行う foo = Array new 5 withAll 2. foo keysAndValuesDo [ key val | foo at key put val * key] このメソッドが真価を発揮するのはDictionaryの場合かな。 コレクションの各要素に対し順番に処理を行いつつ合間にも処理を行う foo = . #( Zun Zun ZUN zun Doko ) do [ i | foo = foo, " , i, " ] separatedBy [foo = foo, , ] CSVを作るときに真価を発揮する。逆にそれ以外の使いどころがわからない。 同じサイズのコレクション(配列型)同士で各要素に対し順番に処理を行う dic = Dictionary new. brother = #( 長男 次男 三男 四男 五男 六男 ). name = #( おそ松 唐松 チョロ松 市松 十姉妹 椴松 ). brother with name do [ i j | dic at i asSymbol put j]. 2つのコレクションのサイズが異なるとエラーになるんダヨ~ン。 いい例が見つからなかったぜ、てやんでぃ、バーローちきしょう! 並べ替える 並べ替えはいずれもクイックソートで行われるので不安定なソートである。 コレクションをソート済コレクション(SortedCollection)にする #(7 9 4 5 2 0 1 3) asSortedCollection SortedCollectionが得られる。つまり、返り値はクラスが変わっている。 コレクションを条件指定でソート済コレクション(SortedCollection)にする (Array with (#a- 9) with (#b- 6) with (#c- 4) with (#d- 2)) asSortedCollection [ e1 e2 | e1 value e2 value] ソート条件はブロック内に2つの引数が必要。 コレクション(配列型)を破壊的にソートする #(7 9 4 5 2 0 1 3) beMutable sort #(7 9 4 5 2 0 1 3) beMutable sorted 破壊的メソッドで、実行後、コレクションをもう一度見てみると並べ替えられている。 sortとsortedの違いはいまいちわからない。 コレクション(配列型)を条件指定で破壊的にソートする (Array with (#a- 9) with (#b- 6) with (#c- 4) with (#d- 2)) sort [ e1 e2 | e1 value e2 value] (Array with (#a- 9) with (#b- 6) with (#c- 4) with (#d- 2)) sorted [ e1 e2 | e1 value e2 value] (Array with (#a- 9) with (#b- 6) with (#c- 4) with (#d- 2)) sortWith [ e1 e2 | e1 value e2 value] 破壊的メソッドで、実行後、コレクションをもう一度見てみると並べ替えられている。 sort とsorted の違いはいまいちわからない。 コレクション(配列型)の指定した位置同士を入れ替える #($a $b $c) beMutable swap 2 with 3 結合する コレクションの各要素をつなげる (Array with (#a - A ) with (#b - B )) fold [ i j | i value, , , j value] 変数を用意しないでつなげることができるので便利。要素が空だとエラー。 CSVを作るときには要素間だけにカンマを入れてくれるので非常に強力。 また要素が1つだけだと思うような結果にならないこともある。 上記の例は要素を1つにするとvalueが評価されない。 コレクションの各要素を重ねあわせる(集計関数っぽいことをやる) #(1 3 5 7 9) inject 0 into [ i j | i + j] 変数を用意しないでつなげることができるので便利。 上記の例は合計を計算する。 最大値、最小値であれば [ i j | i min 9] とか [ i j | i max j] とかやればよい。 文字列結合は [ i j | i, j] でできる。 ただしfoldと違ってCSVを作ろうとするとカンマが余る。 区切る コレクション(配列型)を指定したトークンで区切る Morning,Afternoon,Evening tokensBasedOn $, コレクション共通メソッドだが、CSVを区切るために用意したとしか思えない。 コレクション(配列型)を条件にマッチする要素で区切る Morning,Afternoon/Evening;Night runsFailing [ i | #($, $/ $;) includes i] コレクション共通メソッドだが、文字列以外での使いどころがわからない。 コレクション(配列型)を条件にマッチする要素で区切りつつループもする Morning,Afternoon/Evening;Night runsFailing [ i | #($, $/ $;) includes i] do [ i | Transcript cr; show i] コレクション共通メソッドだが、文字列以外での使いどころがわからない。 コレクション(配列型)を条件にマッチしない要素で区切る 123,456,789.321 runsSatisfying [ i | i isDigit] runsFailing の逆条件バージョン。マッチする要素が続く場合、まとめて一区切りとする。 コレクション(配列型)を条件にマッチしない要素で区切りつつループもする 123,456,789.321 runsSatisfying [ i | i isDigit] do [ i | Transcript cr; show i] runsFailing do の逆条件バージョン。マッチする要素が続く場合、まとめて一区切りとする。 コレクション(配列型)を要素の前後関係を判断して区切る getFieldKnownNotToBeAName piecesCutWhere [ i j | i isLowercase and [j isUppercase]] コレクション共通だが、やはり文字列向きといえる。これはキャメルケースを単語ごとにカットした場合。 コレクション(配列型)を要素の前後関係を判断して区切りつつループもする getFieldKnownNotToBeAName piecesCutWhere [ i j | i isLowercase and [j isUppercase]] do [ i | Transcript cr; show i] コレクション共通だが、やはり文字列向きといえる。これはキャメルケースを単語ごとにカットした場合。 do 付きのメソッドをいろいろ用意してあるが、その効果はいかほどのものか疑問に思う。 確かに1度コレクションのコピーを作ってからdo するよりは効率がいいのだが、使用する頻度を考えるとな。。。 まとめる コレクションをユニークな(重複のない)コレクションにする #(1 3 5 8 5 6 2 3 5 7 6 9 5 4) asSet Setクラスにするだけで重複がなくなる。順番は保障されない。 コレクションに重複数のデータも持たせる #(1 3 5 8 5 6 2 3 5 7 6 9 5 4) asBag Bagクラスにするだけで重複数も一緒に持つことができる。Bagも順番が保障されないタイプ。 重複数はoccurrencesOf で取得することができる。 コレクションをtrue側false側に二分する #(1 3 5 8 5 6 2 3 5 7 6 9 5 4) groupedBy [ i | i odd] tureとfalseをキーとするDictionaryが返る。 実はremoveAllSuchThat で破壊的に分けることができ、しかも変数も少なくできるので、それを知っていると出番がなくなる。 その他 コレクションのある要素の重複数を調べる #(1 3 5 8 5 6 2 3 5 7 6 9 5 4) occurrencesOf 5 コレクションを1回ループさせてカウントするので、何度も実行するならasBagしてからの方が効率がよい。 コレクション(配列型)の順番を反対にする #($a $b $c $d $e) reverse 逆にした状態を後々まで保持しておいていろいろ利用するなら使う価値があるかもしれない。 逆からループするなら下記の同時にdo するタイプを使ったほうが効率がいい。 コレクション(配列型)各要素に対し逆から順番に処理を行う #($a $b $c $d $e) reverse di [ i | Transcript cr; show i] メソッドはself size to 1 by -1 do []となっている。つまり、reverse して、コレクションのコピーを 返してから、さらにdo するよりはずっと効率がいい。 何でもする。舐めてあげるし。入れてあげる。(*´ω`)★ http //gffz.biz/ -- age (2011-11-23 09 41 07) 名前 コメント -
https://w.atwiki.jp/mixikaibutu/pages/15.html
コレクションを達成するとExpやGold、コレクションマーク等を入手することができます。 同じような条件の下位コレクションを達成すると、上位のコレクションの条件が表示されます。 また、条件が表示されないコレクションもあります。 ※装備品コレクターには特にないと思います。 BOSSクエスト系 サーガ系 その他 ここのコメントにはコレクション全体的なコメントのみお願いします。 コメント欄 名前 コメント ▲