約 3,125,201 件
https://w.atwiki.jp/aniwotawiki/pages/43233.html
登録日:2019/11/10 (日) 20 19 59 更新日:2024/06/07 Fri 14 17 34NEW! 所要時間:約 16 分で読めます ▽タグ一覧 SCP SCP Foundation SCP-4000コンテスト Thaumiel マサチューセッツ州 メタ 確率論 第四の壁 そんな都合のいい話、ある? SCP-4006は、シェアード・ワールド「SCP Foundation」に登場するオブジェクトである。 オブジェクトクラスは、Thaumiel。 もう何度も登場している、財団にとっての諸刃の剣、最終兵器である。 特別収容プロトコル Thaumielオブジェクトは、基本的にO5評議会員しか知ることが許されない(SCP-2000がその例) しかし、このオブジェクトにはそういった規制がされていないように見える。 SCP-4006に対する収容プロトコルの一文を抜き出すとこんなことが書かれている。 具体的な収容プロトコルは必要ありません。 本当にそれでいいのか。 その次の文で、収容方法が(一応)示されている。 SCP-4006に関してとられる行動は、ヴェール維持のための標準プロトコル(Protocol MtV-4006)に基づくものであるべきです。 …ヴェールとはなんだ?頭の中にこの言葉を入れておいてほしい。 概要 さて、SCP-4006とは何かというと、確率論的異常現象、要は「そんなこと起きるの?」という事が起きてしまう、という現象である。 このオブジェクトはマサチューセッツ州(*1)に限定して影響を及ぼしている。 どんな影響なのか。簡潔に言おう。 マサチューセッツ州に人間が居住した歴史は存在しない。 にもかかわらず、人々はマサチューセッツ州に人間はおろか、政府やインフラ、経済などの州として成り立たせるのに必要な要素が存在していると思い込んでいる。 これがSCP-4006の効果である。この効果によって起きる現象は、確率は低いが、日常で起きるであろう現象ばかりである。 平たく言えば、3つのサイコロを3000回振って、3000回すべて3つとも1が出てしまうということである。「3つとも1が出ること」自体は起きるが(確率は低いが)、それが「3000回連続で起きてしまう」のだ。 マサチューセッツ州に関連する誤った情報は、このような確率の低い事象が頻繁に起こり、組み合わさり、そして効率的に広がる。 SCP-4006はマサチューセッツ州に関する様々な歴史に影響を及ぼしていた。影響されている部分を色付けして例示する。 マサチューセッツ州に部族は存在しなかった。 アメリカ大陸の植民地化の際、その最北端に位置する土地を領有しようとしたフランスをけん制し、イギリスがプリマス(現在のマサチューセッツ州の都市)という植民地を領有していると虚偽を主張する。 コミュニケーション不足で今のマサチューセッツ州は既に植民地化されていたと認識される。 プリマスに行きたいと思った開拓者らは、船舶移動中に嵐に遭い、予定より南に上陸。自分がもっと北にいると思い込んでいる別の開拓者に遭い、そこをマサチューセッツ州と名付ける。 現在のロードアイランド州で漁業水産が開始されるが、漁船はマサチューセッツ州を器用によけ、遥か北に上陸。マサチューセッツ州にたどり着いた船はいなかった。 ロードアイランド州、コネチカット州は自分がマサチューセッツ州にいると思っている人々(以後、SCP-4006-Aと命名される)に気づかず繁栄する。 ロードアイランドとコネチカットの人々、そしてSCP-4006-Aが遭遇したが、居住地域に関する話はしない。どころか、SCP-4006-Aは彼らもマサチューセッツ州から来たと思い込む。 SCP-4006-Aは数々の街と政府を作るが、そのうちのどれか一つを自分の出身地だと思い込み、そこの警察としか遭遇せず、そこの新聞しか読まず、互いの街を認識しない。 ロードアイランド・コネチカットでも政府が作られるが、SCP-4006-Aはこれらの政府も自分たちの物と勘違いする。イギリスの監査員も同じく勘違いし、彼らはマサチューセッツ州にいるのだと思い込む。 マサチューセッツ州の都市(ボストンとか)にいると思い込んでいる人々は、実際は付近の全然違う都市にいる。 マサチューセッツ州に関する話をする際、相手は必ず自分と同じ街を思い浮かべている人である。 とまあこんな感じで、正直ピンゾロを3000回出す方が簡単なのではというくらいの偶然が積み重なって、マサチューセッツ州に人間はいないのにいると誤認される、という現象が起きてしまうのである。 ちなみに、これでもまだほんの一部である。全てのリストはレベル4のクリアランスを持つ職員が所持している。正直、全部読んだら頭が痛くなりそうだけど 発見経緯と活用 こんな現象をどうやって財団が認知したのかというと、SCP-4006の影響に耐性を持っていた職員がSCP財団の中にいて、発見、他の職員に拡散させたのである。当然、その理由は不明である。 しかし、発見できても問題が一つある。 これ、どうやって収容するの? 確保はできた。その次は収容である。出来なければ保護もままならない。 悩む財団内で、ある一人の職員がこんなことを言い出した。 「マサチューセッツ州(と思われている場所)に財団の資産を持っていけば安全に活動できるんじゃね?」 コロンブスがアメリカ大陸を発見する以前から、実に700年以上、このオブジェクトは影響を及ぼしているのである。そこに財団の施設を持ち込めば、異常なまでに安全な活動が保証されるのは確かに当然である。これが、Thaumiel認定の理由である。 しかし、SCP-4006は強力とはいっても、常に機能してくれるとは限らない。現に、財団内でも耐性を持った職員が現れているのである。3000回目がピンゾロだとしても、3001回目はヒフミかも知れない。 というわけで、最初の特別収容プロトコルに記載されている、「Protocol MtV-4006」が制定された。 SCP-4006が活動を秘匿してくれるものだとは思わないこと。SCP-4006がマサチューセッツ州の真の性質についての全情報を検閲することに失敗するイベントが起きた時のため、ヴェールを維持するために必要なあらゆる予防策を取り続けること。 ここでいうヴェールとは、おそらくマサチューセッツ州、ひいては財団の活動が隠され続けている状態のことを指しているのだろう。 財団は巨額の投資をしてヴェールを維持する予防線を張っている。具体的には、 ボストンやスプリングフィールド(マサチューセッツ州に存在すると思われている都市)に当たる場所にサイトを建設、そこに本当に都市があるのだと見せかける。 サイト間の道を、マサチューセッツ州の地図上の道路と同様にする。 サイトから外出する際は民間人のような服装をする。 というものである。マサチューセッツ州が本当にあるように見せかければ、これ以上に強い予防線はない。 とはいえ、報告書執筆時点ではSCP-4006の機能は財団にとって期待通りのため(*2)、予防線は正直不要とされている。 当然、あってはならないヒフミに備え、この予防線は維持され続ける。 補遺 4006-1 追記 マサチューセッツ州に設置されたサイト群は、現在、最大規模のサイトとなっている。 O5職員、サイト管理官、HMCL監督者(SCP-2000にも登場するなんかのお偉いさん)、倫理委員会の本拠地はサイト-4006(ボストンがあることになっている場所)に移された。 収容困難なオブジェクト(みんな大好きクソトカゲやアベルとか)、収容に広い土地を要するオブジェクトも移された。 多くの財団職員がマサチューセッツ州に移動した。結果、「Protocol MtV-4006」に従い新たに空港やインフラ、より複雑な道路が建設された。 当然、それらはマサチューセッツ州にあると思われている物に偽装された。 その後、プロジェクト-4006-109、「マサチューセッツ州の全実現」が想起された。これは、他に頼らず、財団単体でマサチューセッツ州を多くの職員の生活の場にしようというものである。 もし承認されれば、マサチューセッツ州はまさしく「財団都市」と言ってもよいものに変貌するだろう…。 補遺 4006-2 プロジェクト-4006-109は本当に完遂された。 マサチューセッツ州は今までSCP-4006の影響で広まった勘違いを元に作成された。 財団はマサチューセッツ州に都市を建設し、インフラを整備し、職員を住まわせる家を作り、全ての一般道が創設された。 アメリカ政府は、マサチューセッツ州に住む職員を本当の住民として扱い始めた。 政府内の職員は、職員のみがマサチューセッツ州の政府に配備されるシステムを作り上げた。 SCP-4006の正体は依然として秘密であるのに、マサチューセッツ州は本当の州として機能し始めた。 民間機がマサチューセッツ州を飛び交い始めた。 一般市民の車がマサチューセッツ州を通過し始めた。 「Protocol MtV-4006」はより重要なものとなった。 地上の施設は基本的に立ち入り禁止の扱いに変わった。 財団はマサチューセッツ州を本当に「財団都市」に変えてしまったのだ。 [数多くの補遺が余分であること、内容が重複していることを理由に取り除かれました。取り除かれた補遺のリストを閲覧するには、4/4006クリアランスを持ついずれかの職員にコンタクトをとってください。] 補遺 4006-8 2023年時点で、マサチューセッツ州の外で自分がそこにいると勘違いしている人は数えられるほどにまで減った。何故なら、マサチューセッツ州にはすでに財団職員よりも多くの一般市民が住んでいるからである。 今でも財団の多くの資産はマサチューセッツ州に存在している。が、それらは他の州の物と同じように全て隠匿され続けている。 もうこれSCP-4006機能してなくね? というわけで、財団内では現在、SCP-4006の扱いについて3つの提案がされている。 SCP-4006をNeutralizedに再分類する。 SCP-4006をExplainedに再分類する。 SCP-4006をThaumiel分類のままにする。 一つ目の提案は、「SCP-4006は最早存在しないも同然である」という主張のもとに起草された。マサチューセッツ州に人が存在しているという「勘違い」を生み出すオブジェクトなら、すでに存在している現在ではSCP-4006は機能していないのではないかという意見である。 二つ目の提案は、「SCP-4006の全構成要素は偶然と科学により説明可能である」という主張のもとに起草された。確かにその規模は常軌を逸しており、SCPオブジェクトとして指定されるに値するかもしれない。しかし、所詮は偶然と奇跡の積み重ねでしかないという意見である。 三つ目の提案はO5評議会からなされた。おそらく、「現在でもSCP-4006の効果は続いており、財団の施設が秘匿されているのは、現在でもSCP-4006の影響が多少なりともあることを無視できない」という意見であろう。 いずれにしても、マサチューセッツ州は生まれ変わった。財団はこれからも、明日に向かって活動し続けるだろう。 追記・修正はマサチューセッツ州から来た人間がお願いします。 △メニュー 項目変更 -アニヲタWiki- 閲覧には5/4006クリアランスが要求されます。 財団の明日は、誰に委ねられていると思う? 実はこのオブジェクト、改訂版が存在する。 そのファイルには、O5評議会員しかアクセスできないことになっている。 第四の壁を隔てた我々はそんな制限関係ないので、改訂版についても説明していこう。 特別収容プロトコル N/A ……N/A。Not Available。つまり、存在しない。 SCP-4006に対し、本当は、何をすることも出来ないのである。 これだけ聞くとSCP-2317(*3)のように、終末論的なオブジェクトか何かと思われるかもしれないが、実はその逆である。 正確に言うと、SCP-4006に対して、何をする必要もないのである。 概要 最初の報告書を読んでみて、諸君は疑問に思わなかっただろうか。 「何故、マサチューセッツ州の性質が世間に露呈しなかったのか。」 報告書を読み進めて、諸君は疑問点を見つけなかっただろうか。 「何故、マサチューセッツ州の性質に財団職員だけが気付いたのだろうか、そしてそれが財団内だけで広まったのだろうか。」 SCP財団について調べていくうち、諸君は疑問を持たなかっただろうか。 「何故、SCP-2000やThaumielオブジェクトなどという都合のいい異常存在が存在するのか。」 SCP財団のアイテムについて知識を持つにつれ、諸君は違和感を覚えなかっただろうか。 「何故、記憶処理剤という都合のいいアイテム、その原料になるSCP-3000が存在するのか。」 SCP-2000の報告書を読んで、疑問を感じなかっただろうか。 「何故、財団職員だけがイエローストーン国立公園を認知できなかったのだろうか。」 メタ的に言えば、作り手の方が安易にSCP財団の世界を滅ぼしてしまえば、我々の楽しみが一つ減ってしまう。素晴らしい創作物の数々を見ることができなくなってしまう。SCP-4006のキモはそこだ。 …財団にとってしても、疑問に思える事象は多数ある。 一般社会は何故宇宙について真に理解していないのか。 何故3000番台のオブジェクトは秘匿できない程の大きな収容違反を起こさなかったのか。 何故財団の存在する規定次元が他の次元から隔絶しているのか。 何故正常性を完全に破壊しようとする団体が存在せず、正常性を維持しようとする団体が複数存在するのか。 そして何故その中で財団が最も強力なのか。 そもそも、何故SCP財団などというものが存在しているのか。 実はこれらこそ、SCP-4006のカギとなる現象なのである。 SCP-4006は実在するかどうかは不明である。 上の事象の数々を見るに、O5評議会はSCP-4006は実在していると考えているらしい。 しかし、あくまで存在している「可能性があるに過ぎない」上、それが事実なら、SCP財団はそれを維持する「行為の一端を担うだろう」ため、O5評議会ではSCP-4006が実在しないと見做すことが一番だと認識されている。 おさらいしよう。SCP-4006は、「起こり得ないだろう」という現象を起こしまくってしまうオブジェクトである。 殆ど可能性のない現象が積み重なり、何かを隠匿する。 SCP-4006が包み隠してしまうから、一般人はマサチューセッツ州の実像を知らない。 しかし、SCP-4006が隠しているのは、マサチューセッツ州に関連することだけではない。 SCP-4006が包み隠してしまうから、一般人は宇宙の本当の性質を知らない。 SCP-4006が実在するから、3000番台以降のSCPオブジェクトは収容されるし、大規模な収容違反を起こさない。 SCP-4006が実在するから、SCP-2000をはじめとするThaumielオブジェクトが実在する。 SCP-4006が実在するから、SCP-3000とそれを原料とする記憶処理剤が都合よく実在する。 SCP-4006が実在するから、地球の次元は干渉困難になっている。 SCP-4006が実在するから、正常性の破壊を目的とする団体は存在しない。 SCP-4006が実在するから、複数ある正常性を維持する団体の中で、SCP財団が一番強力なものになっている。 そして何より、 SCP-4006が実在するから、SCP財団が存在する。 実際、そんなことがあり得るのかと言ったら、それは天文学的確率である。つまり、殆どない。 それが、何度も繰り返し起きてしまっている。これこそが、SCP-4006の実在を示唆する証拠である。 こんなこと、あり得ない。 誰かによって仕組まれでもしなければありえない。 そう。 SCP財団は、その誰かによって作られたかのような事象を突き止めてしまったのである。 SCP-4006が実在するという事を認めてしまえば、「どうせ何とかなるでしょ。だってSCP-4006があるもん」という考えが職員の間に浸透し、財団内で必要以上に危険な行為がされることにつながる。 だから表向きは、SCP-4006はマサチューセッツ州に限定する隠匿現象だとされている。 ヴェールとそれに隠された真相 ヴェールというのは、「物事の真相や本当の姿がわかりにくくなっている要因」(Wikipediaより)である。 一つ目のヴェールは、マサチューセッツ州が実在するというもの。隠されていたのは、マサチューセッツ州の本当の性質。 これは、財団職員が(都合よくも)突破してしまった。 二つ目のヴェールは、一般人のイメージするマサチューセッツ州。隠されていたのは、財団がサイトを建てまくったマサチューセッツ州。 これは、イメージ上のマサチューセッツ州の姿に財団が近づけていくにつれ、薄れてきてしまった。 では、三つ目のヴェールは何なのか。 先程書いた、誰かによって作られたかのような、という表現に全てがある。 O5評議会は、このオブジェクトは誰かによって創作されたものだと気づいたのだ。 隠しているのは、極めて低確率で起きる現象という仮説。 それだけではない。 財団は表向き、この世界の異常性を管理している。これもヴェールである。 隠されているのは、財団の基底現実は創作物であるという事実。 もう正体を明かしていいだろう。このオブジェクトは、低確率の現象を引き起こすというものではない。 SCP-4006の正体は、第四の壁である。 SCP-2000なんてものが存在するのは、第四の壁を隔てた我々が想起したからである。その筐体にひびが入っているのは、我々が制限を掛けたからである。その方が面白いから。 SCP-3000というものが存在するのも、第四の壁を隔てた我々が想像したからである。それによって生み出される記憶処理剤が多数の犠牲を伴うものであるのは、我々が制限を掛けたからである。その方が面白いから。 SCP財団の世界が存在するのは、第四の壁を隔てた我々が想像しているからである。そして、そこに設定を加えたのは、紛れもない我々である。それを想像するのが楽しいから。 そのヴェールは、我々が設定できる。好きに操れる。人々は異常存在に気づかないし、それをSCP財団が管理しているし、脅威的なKeter存在が多く存在していても、SCP財団の世界は(少なくとも現在まで)存続している。これらの設定こそ、我々の置いたヴェールである。 それを示しているのが、SCP-4006である。SCP-4006がある限り、SCP財団の世界の存在は保証される。だって我々は、SCP財団の世界をもっと楽しみたいのだから。 財団は明日を選べない。その明日は、我々が作るのだ。 まとめと余談 色々ととっ散らかしたが、簡潔に述べれば、 SCP-4006は「ヴェール」という現象そのものである。 それを操作しているのは(つまり財団世界における事象を管理しているのは)、第四の壁を隔てた、SCP Foundationという世界を楽しみたい我々である。 O5評議会は画面の向こうから"創作"をしている読者&創作者の存在に気づいてしまった。 とはいえ、創作されている限りは財団世界の存続は保証されるため、O5評議会は自分たち以外の存在からSCP-4006≒第四の壁を秘匿することにした。 ということである。 このオブジェクトはSCP-4000コンテストに出品された作品の一つである。テーマは、「歴史」。ちなみに、優勝したのは「Taboo」である。 追記・修正は、財団世界を作り上げた方がお願いします。 CC BY-SA 3.0に基づく表示 SCP-4006 - #MassaTruthetts by DarkStuff http //www.scp-wiki.net/scp-4006 http //ja.scp-wiki.net/scp-4006 SCP-2000 - Deus Ex Machina by FortuneFavorsBold http //www.scp-wiki.net/scp-2000 http //ja.scp-wiki.net/scp-2000 SCP-3000 - Anantashesha by djkaktus and A Random Day and Joreth http //www.scp-wiki.net/scp-3000 http //ja.scp-wiki.net/scp-3000 SCP-2317 - A Door to Another World by DrClef http //www.scp-wiki.net/scp-2317 http //ja.scp-wiki.net/scp-2317 SCP-682 - Hard-to-Destroy Reptile by Dr Gears http //www.scp-wiki.net/scp-682 http //ja.scp-wiki.net/scp-682 SCP-076 - Able by Kain Pathos Crow http //www.scp-wiki.net/scp-076 http //ja.scp-wiki.net/scp-076 この項目の内容は『 クリエイティブ・コモンズ 表示 - 継承3.0ライセンス 』に従います。 △メニュー 項目変更 この項目が面白かったなら……\ポチッと/ -アニヲタWiki- ▷ コメント欄 [部分編集] これぞ「メタ」って感じのオブジェクトですな ところで本家SCP-4006の報告書へのリンク先がディスカッションになってまっせ -- 名無しさん (2019-11-10 20 49 58) 後メタタイトルは日本語訳されていない“#MassaTruthetts”読み方は恐らく「マサチュルーセッツ」だろうか -- 名無しさん (2019-11-10 20 54 27) つまり・・・どういうことだってばよ? -- 名無しさん (2019-11-10 22 04 03) ↑ インテリジェントデザイン論みたいなもの。『確率的にあり得ない事象が起きるのは、大いなる知性(=神や作者)が数値を意図的に決定しているから』っていうやつ -- 名無しさん (2019-11-10 22 14 23) ディスカッションになっていたリンクを修正しました。あとほんの少しだけ文章追加 -- 項目作成者 (2019-11-10 22 22 19) ↑2 昔、武田鉄矢氏のラジオで聞いた話だが、目の不自由な人がたった一人でルービックキューブをいじくって(偶然)6面全部を揃えるには14億年かかる。が、隣に目が見えるルービックキューブの天才がいて、目の不自由な人が一回動かすたびにYesかNoか(6面までの手順に近づいているか遠ざかっているか)を言ってあげるだけで200年に短縮されるのだそうだ。つまりそのインテリジェントデザイン論から行けば、今地球上に様々な環境に対応した生物が無数に存在するには「彼ら」の介入なしには30億年じゃ到底足りないはずだという… -- 名無しさん (2019-11-10 23 14 41) そろそろSCP世界のメタオブジェクトも結構出揃ってきたから、メタオブジェクト同士の最強決定戦開催できそう -- 名無しさん (2019-11-11 00 36 02) ↑全メタオブジェクト入場!! -- 名無しさん (2019-11-11 00 40 28) 項目名の #MassaTruthetts を無理やり日本語にするなら「真(マサ)チューセッツ」とか? -- 名無しさん (2019-11-11 03 24 25) また「SCPは画面の前の貴方達(、現実世界、SCP wiki)です!」系か… -- 名無しさん (2019-11-11 04 43 26) 財団の明日系同様、よくあるオブジェクトになった感じはあるね... -- 名無しさん (2019-11-11 06 58 03) これには財明日警察も困惑 -- 名無しさん (2019-11-11 08 59 47) 財団にとって都合の良い存在かのように書かれてるけど、まず起こり得ないKクラスシナリオが頻発するのも4006の効果なのでは? -- 名無しさん (2019-11-11 09 10 28) SCP-3999みたいなもんか というかSCP-3999の引き起こす現象みたいなもんか -- 名無しさん (2019-11-11 21 43 04) 第4の壁系オブジェクト今いくつくらいあるんだろう -- 名無しさん (2019-11-11 21 44 24) 数あるメタオブジェクトの中でこれには一つ特筆するべきことがある。それは「このカノンを選択すれば」だけど、財団本部の所在地がマサチューセッツ州だという設定ができたこと。国連本部がニューヨーク、ICPO(インターポール)本部がフランスのリヨンにあるように。……今までは、場所SCPなどの都合でほうぼうにサイトやエリアが散ってるから、普段ブライト博士達がいる場所がどこかなんて想定した人はそんなに多くはなさそうだけどさ。 -- 名無しさん (2019-11-12 07 03 30) マサチューセッチュ……マサシュー……マチャチュー…… -- 名無しさん (2019-11-12 20 17 16) SCP-1374-JPは逆に我々に都合のいいものは許されないって奴だったな -- 名無しさん (2019-11-13 11 17 45) ↑ 「我々に」じゃない、「彼らに」だ(ゲス顔) -- 名無しさん (2020-02-21 18 24 31) 存在しないとみなすのが適切なのにThaumielで存続させるO5がよくわからんな -- 名無しさん (2020-03-19 09 23 33) ↑第四の壁を意識させるオブジェクトを創作する作家がいる時点で、見なかったことにするのは不可能なんよ。目を背けてもまた出てくるんだから -- 名無しさん (2020-05-02 12 39 40) ふははは、SCP世界の者どもよ! 我は神なるぞ! 膝まづくがよい!!w -- 名無しさん (2020-05-06 10 18 02) ↑批評やマイナス評価食らうと神様でい続けるのも楽じゃなさそうな。 -- 名無しさん (2020-05-06 10 47 35) SCP財団ゥ!何故正常性を維持しようとする団体が複数存在するのか。(アロワナノ-♪)何故その中で財団が最も強力なのか。何故SCP財団などというものが存在しているのくわァ!その答えはただ一つ…。アハァー…♡SCP財団ゥ!SCP財団ゥ!君が世界で初めて…パンドラボックスに触れた事でSCP-4006が現れたからだからだぁぁぁぁ!!(ターニッォン)アーハハハハハハハハハアーハハハハ(ソウトウエキサーイエキサーイ)ハハハハハ!!! -- 名無しさん (2020-05-26 16 13 39) そしてここにはscp 2317もいる。 -- 名無しさん (2020-06-08 00 06 36) まあそれもすべて犀賀派の導きなんだけどね -- 名無しさん (2020-06-28 12 13 41) ふははは、我々は神だ! 財団世界の者どもよ、我々を崇めよ!! 真の神の降臨だああああ!!(暴走 -- 名無しさん (2020-06-28 12 27 49) ↑ タローラン研究員「ドーモ、執筆中のメンバー=サン、タローランです。」 -- 名無しさん (2021-09-13 21 26 44) 現実で起こる確率にどれだけの意味があるんだろうな。サイコロを5度振って3→5→2→6→1 -- 名無しさん (2021-09-30 23 30 11) オチがなければ面白かったのになあ。 -- 名無しさん (2021-10-14 13 58 03) このオチがなきゃ4000コンテストに出せん -- 名無しさん (2022-01-24 15 01 16) 名前 コメント
https://w.atwiki.jp/aceshigh/pages/57.html
アメリカ義勇航空隊「AVG」、通称「フライング・タイガース」が使用していたことで有名な機体です。 中低高度用単発迎撃戦闘機として、1938年1月から開発が開始されました。P-36を原型としていますが、エンジンを空冷から液冷に換装したため、見た目は大きく変化しています。開発は急ピッチで進み、空軍の要求から僅か10ヶ月で初飛行に成功しました。 性能は平凡でも生産性が高かったため、USAAFの主力機として大量に配備されました。 大戦初期においては、枢軸軍機に対抗できる数少ない大量生産可能な機体であったため、米軍のみならず連合軍各国に提供され、あらゆる戦線で活躍しました。 大戦中期以降はP-47やP-51といった高性能機が登場したため、主用されることはありませんでしたが、実用性が高く、搭載力も比較的大きかったため戦闘攻撃機として使用されました。特に英空軍での評価は高く、アフリカ戦線において活躍しました。 度重なる改良もあり、やや被弾に弱いP-51よりもP-40を好む米軍パイロットも少なくなかったそうです。 英国が本機の生産をノース・アメリカン社に依頼したことが名機P-51開発の契機となったことは有名です。 Aces HighにおけるP-40P-40C P-40E P-40F P-40N 性能諸元 P-40についてのコメント Aces HighにおけるP-40 Aces Highで使えるのは、C型、E型の他、 バージョン2.26 で追加されたF型及びN型です。 低速、低火力、低上昇力で今ひとつパッとしない機体ですが、フライングタイガースの人気があるため、こだわりをもって使うプレイヤーも多いようです。 低速であるものの、火力はP-51並ですし、大戦後期の機体と比べると旋回性能が高いため、油断できません。 共通アイコンは「P40」 + P-40C P-40C バージョン2.25 まではP-40Bであったが、 バージョン2.26 でC型に変更された。 欧州での戦訓から、武装を強化し、燃料タンクに防弾を施したのがP-40Cです。 英国では、輸入された本機を「トマホーク Mk IIB」として使用していました。 固有アイコンは「P40C」 + P-40E P-40E 1941年8月から配備された型で、エンジンを強化(アリソンV-1710-39(1,150hp))、それに伴いエアインテークを大型化したのがP-40D / Eです。 D型とE型の違いは武装で、D型は12.7mm M2ブローニング機関銃が4挺、E型では6挺となっています。 英国では本機を「キティホーク Mk IA」として使用していました。 固有アイコンは「P40E」 + P-40F P-40F 高々度性能の向上を図るために、エンジンをアリソンからパッカード・マーリンV-1650-1(1,300hp、RRマーリン28のライセンス生産)に換装した型です。 エンジン換装に伴い、キャブレター位置を変更したため機首上部のインテークが無くなっているのが外見上の大きな特徴です。 固有アイコンは「P40F」 + P-40N P-40N P-40シリーズ最高生産数(6,000機以上)を誇るのがこのN型です。 徹底した軽量化が図られ、エンジンはV-1710-81 / -99 / -115(1,200hp)を採用、N-5型以降は視界向上のために、従来とは異なったキャノピーが採用されました。 AHのN型は、N型の中でも視界向上のためにキャノピーが変更された後期型となっています。 航続時間が非常に長く、機動性も良いので、対地・対空戦闘のどちらでも活躍が期待できるでしょう。 固有アイコンは「P40N」 性能諸元 機種 重量 燃料 武装1 武装2 武装3 武装4 胴体増槽 胴体爆弾 翼パイロン1 翼パイロン2 EW MW LW P-40C ポンド ガロン 2 x 50 cal M2 380発4 x 30 cal M2 490発 1× 52 ガロン 1 × 500ポンド爆弾 ○ ○ ○ P-40E ポンド ガロン 6 x 50 cal M2 235発 1 x 52 ガロン 1 x 500 ポンド爆弾 ○ ○ ○ P-40F ポンド ガロン 4 x 50 cal M2 304発 4 x 50 cal M2 235発 6 x 50 cal M2 281発 6 x 50 cal M2 235発 1 x 75 ガロン 1 x 500 ポンド爆弾 P-40N ポンド ガロン 4 x 50 cal M2 304発 4 x 50 cal M2 235発 6 x 50 cal M2 281発 6 x 50 cal M2 235発 1 x 75 ガロン 1 x 500 ポンド爆弾 2 x 75 ガロン 2 x 500 ポンド爆弾 太平洋戦線のP‐40ウォーホークエース (オスプレイ・ミリタリー・シリーズ―世界の戦闘機エース) カーチスP-40ウォーホーク The Curtiss P-40 From 1939 to 1945 (Planes and Pilots, 3) P-40 Warhawk (Warbird History) P-40 Warhawk (American flight manuals) P-40についてのコメント EMY高いときの対地に非常に優秀!対戦車攻撃機として良く使います。 -- 名無しさん (2013-04-19 02 55 56) この機体はもっと評価されてもいいのかも・・・ -- 名無しさん (2013-06-01 21 41 08) 名前 コメント
https://w.atwiki.jp/takujijo/pages/3975.html
https://w.atwiki.jp/warshipgunner/pages/131.html
FAR-H-615 望まぬ再会 目標 主目標 戦艦15隻を撃破せよ筑波乗艦「相模」を撃沈せよ 副目標1 (記入してください) 副目標2 (記入してください) 副目標3 (記入してください) 隠しアイテム 英国戦艦Ⅶ(2周目) しばらくするとマップ西側に輸送船 作戦および設計上の注意 (記入してください) 攻略 (記入してください) アイテム ランク報酬 1周目 2周目以降 Sランククリア報酬 雷電 F23 グレイゴースト Aランククリア報酬 Bf109F-2 取得アイテム 35mmCIWS強風B-25 ロック Mk1ウォーラスF2A-3 バッファローBf109F-2レア設計図 ケント級レア設計図リュッツォウ級 B-58Aハスラー彗星五四型Su-37J S.フランカーヴァンパイアFB.5レア設計図 ヴェゼル級レア設計図 イーグル級 その他(備考・感想・雑記) (必要に応じて記入してください) トップページ | 攻略チャート しばらくってどれくらいしばらくなんだろう?これだけじゃ登場の状況がようわからん… -- 名無しさん (2010-01-03 19 00 50) 増援アナウンスとともに西側中央部の島付近に登場した輸送船から取得。増援条件は不明(戦艦10撃沈か?)これでよいか名無しさん。 -- 名無しさん (2010-01-03 19 14 26) 敵航戦一隻撃沈?と思われる。 -- 名無しさん (2010-03-18 17 29 22) 1周目 零戦二二型 九六式艦船 取得確認 -- 名無しさん (2010-05-23 07 17 16) 1周目は何も出てこない? -- 名無しさん (2012-02-25 23 08 29) このステージは航空戦艦が何隻登場してますかね? -- 名無しさん (2012-03-23 16 14 49) 一周目で4、二周目で18(間違ってたらすみません)。 撃破数を稼ぐなら、君塚艦隊を皆がら海の藻屑にする(個人的には、数は少ないけれども効率のよい一周目を数こなす)ことをおすすめします。 -- 名無し3 (2012-03-23 18 53 13) ↑有難う御座いました -- 名無しさん (2012-03-24 17 53 48) ↑2 追加。 撃破数と難易度は関係ないので、ベリーイージーで160センチ砲や波動砲、レールガンで超長距離から一撃で沈めまくり、航空戦艦を沈めたときに 副目標達成 と言われたらさっさと離脱、これを淡々と繰り返すと良いですよ。 -- 名無し3 (2012-03-24 21 05 54) ここの航空戦艦は逃げないはずなので、君塚よりは精神衛生的に楽かもしれませんね。 -- ミサゴ (2017-01-30 07 23 13) 名前 コメント トップページ | 攻略チャート
https://w.atwiki.jp/wug-world/pages/72.html
O-40 O-40 機体情報 機種 軽爆撃機 運用者 imageプラグインエラー ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (【運用国国旗ファイル】)【運用者】 製造者 imageプラグインエラー ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (【製造国国旗ファイル】)【製造者】 初飛行 【初飛行日】年月日 製造期間 【製造期間】年 - 年 運用期間 【運用期間】年 - 年 製造数 3200機 機体諸元 目次 全長 8.7m 機体史 設計 装備 固定兵装 搭載兵装 アビオニクス 派生型 関連項目 全幅 11.2m 全高 2.9m 翼面積 【翼面積】m 2 乗員 2名 空虚重量 2500kg 戦闘重量 2800kg 最大離陸重量 3800kg 離着陸方式 【離着陸方式】 装甲材質 硬質化セラミック 装甲厚 20mm 機体寿命 時間 機関諸元 エンジン PL_E21基 エンジン出力 1100馬力×1基 最高速度 550km/h 巡航速度 240km/h 上昇能力 10m/s 実用上昇限度 7500m 燃料 【燃料種類】【積載量】kL 航続距離 【任意速度】km/h時【航続距離】km フェリー航続距離 【航続距離】km 戦闘行動半径 【戦闘行動半径】km 機体史 Optimum(オプティマム)計画に基づいて設計された艦上攻撃機。 設計 装備 固定兵装 固定兵装 名称 基数 DD-M9 8mm機関銃 2基 名称 基数 旋回式DD-M9 8mm機関銃 1基 搭載兵装 搭載兵装 名称 弾薬数 DD-M9 8mm機関銃 合計2000発 旋回式DD-M9 8mm機関銃 1000発 GS_500通常爆弾 胴体1発 GS_250通常爆弾 翼下2発 アビオニクス アビオニクス 名称 情報処理 【アビオニクス名】 射撃管制 【アビオニクス名】 探信儀 【アビオニクス名】 電子戦装備 【アビオニクス名】 補助装備 【アビオニクス名】 派生型 関連項目
https://w.atwiki.jp/animesongs/pages/5887.html
オムニバス盤 最新アニメ・ベスト28 発売元・販売元 発売元:キングレコード株式会社 販売元 発売日 1981 価格 3000円(税抜き) 内容 哀戦士 歌:井上大輔 風にひとりで 歌:井上大輔 砂の十字架 歌:やしきたかじん さらばやさしき日々よ 歌:麻田マモル 風の行方 歌:麻田マモル 宇宙の王者!ゴッドマーズ 歌:樋口一帆 愛の金字塔 歌:樋口一帆 銀河旋風ブライガー 歌:たいらいさお さすらいキッド 歌:たいらいさお 最強ロボダイオージャ 歌:たいらいさお ヨカッタネ宇宙 歌:たいらいさお おいらドタコン 歌:たいらいさお 太陽戦隊サンバルカン 歌:たいらいさお 仮面ライダースーパー1 歌:たいらいさお 復活のイデオン 歌:たいらいさお コスモスに君と 歌:戸田恵子 トライダーG7のテーマ 歌:たいらいさお あしたに生きろバルディオス 歌:伊勢功一 マリン、いのちの旅 歌:伊勢功一 HEARTへようこそ 歌:古川登志夫 みんなで踊ろうバルジャンロック 歌:たいらいさお ハートは大騒ぎ 歌:芹洋子 しあわせさがして 歌:近藤美津江 ワイワイワールド 歌:奥野めぐみ アラレちゃん音頭 歌:中山ミサ 裸足のフローネ 歌:松尾香 ハロー!サンディベル 歌:松尾香 おはようスパンク 歌:松尾香 備考
https://w.atwiki.jp/yuimugi/pages/48.html
俺の部屋のあまりの寒さに普段色々紬からもらってばっかで これじゃいけないと思い立った唯が憂に教わりながら 手編みの手袋やマフラーを紬にプレゼントしてあげると良いんじゃないかなと思った ある日、放課後の部室で、唯ちゃんが私に紙袋を差し出した。 唯「ムギちゃん、はいこれ!プレゼントだよっ♪」 紬「え?そんな、理由もないのにもらえないわよ!」 唯「私だって理由もないけどいつもムギちゃんからお菓子とかお茶とかもらってるよ?だから、受け取って!」 紬「唯ちゃん…じゃあ…いただくわね」 唯「開けてみて!」 紙袋を開けると、そこには淡いピンクのマフラーが入っていた。 紬「わぁ…これ、もしかして唯ちゃんが?」 唯「憂に教えてもらって編んだんだ~♪ちょっと失敗しちゃったとこもあるけど…」 紬「ううん、とっても上手に出来てるわ♪ありがとう、唯ちゃん」 唯「えへへー…照れるなぁ」 紬「さっそく着けてみていい?」 唯「うん!着けて着けてー♪」 紬「わぁ、すごくあったかい♪」 唯「ホント!?よかったー♪」 紬「…そうだ、試しに唯ちゃんも着けてみて?」 唯「え、でも」 紬「せっかく作ってくれたんだから、着け心地わかった方がいいでしょ?…はい」 唯「うん…わ、ホントにあったかいやー。ムギちゃんが着けてたからかな?」 紬「うん、そうかも♪」 唯「そうだ…へへへ」 唯ちゃんはニヤリと微笑むと、マフラーを半分ほど外して私に巻いた。 さっきよりも温かいのは、唯ちゃんのぬくもりのおかげだろうか。 紬「わ…唯ちゃん?」 唯「前、憂にもしてあげたんだ~どう?」 紬「…うん、とってもあったかいわ♪」 唯「そうだ、今度からこうやって帰ろうか♪」 紬「えぇ…ちょっと恥ずかしいかも」 唯「大丈夫だよ~♪あったかければ気にならないって!」 紬「…うん、そうだねー♪」 唯「あったかあったか♪」 紬「あったかあったか♪」 おしまい 戻る
https://w.atwiki.jp/mediaskin/pages/60.html
[Info] Title=機種別設定:3GPPファイル, MEDIA SKIN用設定 TitleE=Model 3GPP, for MEDIA SKIN Description=MEDIA SKINに向けて解像度を落とした設定です。音声はAAC音声となります。 DescriptionE=Setting adjusted for au by KDDI MEDIA SKIN. [Item0] Title=EZムービー / 映像 Xvid 384kbps 15fps 音声 AAC 96kbps 24kHz Stereo Command0= quot; quot; %AppPath% \cores\ffmpeg quot; -y -i quot; %InputFile% quot; -timestamp quot; %TimeStamp% quot; -bitexact -qmin 1 -qmax 31 -vcodec xvid -mbd 2 -4mv -trell -aic -fixaspect -s 320x240 -r 15 -b 384 -acodec aac -ac 2 -ar 24000 -ab 48 -f 3g2 -muxvb 192 -muxab 64 quot; %TemporaryFile% _1.3g2 quot; quot; Command1= quot; quot; %AppPath% \cores\QT3GPPFlatten quot; quot; %TemporaryFile% _1.3g2 quot; quot; %TemporaryFile% _2.3g2 quot; -c QT_3GPP2_QVGA_AAC.ini quot; Command2= quot; quot; %AppPath% \cores\ATOMChanger quot; quot; %TemporaryFile% _2.3g2 quot; quot; %OutputFile% .3g2 quot; quot;Camouflage_MOVIE_for_MEDIA_SKIN.ini quot; quot; [Item1] Title=EZムービー / 映像 H.264 384kbps 15fps 音声 AAC 96kbps 24kHz Stereo Command0= quot; quot; %AppPath% \cores\ffmpeg quot; -y -i quot; %InputFile% quot; -timestamp quot; %TimeStamp% quot; -bitexact -qmin 1 -qmax 51 -vlevel 13 -vcodec h264 -mbd 2 -4mv -trell -aic -fixaspect -s 320x240 -r 15 -b 384 -acodec aac -ac 2 -ar 24000 -ab 48 -f 3g2 -muxvb 192 -muxab 64 quot; %TemporaryFile% _1.3g2 quot; quot; Command1= quot; quot; %AppPath% \cores\QT3GPPFlatten quot; quot; %TemporaryFile% _1.3g2 quot; quot; %TemporaryFile% _2.3g2 quot; -c QT_3GPP2_QVGA_AAC.ini quot; Command2= quot; quot; %AppPath% \cores\ATOMChanger quot; quot; %TemporaryFile% _2.3g2 quot; quot; %OutputFile% .3g2 quot; quot;Camouflage_MOVIE_for_MEDIA_SKIN.ini quot; quot; Command3= quot;cmd /c quot;del quot; %TemporaryFile% *.* quot; quot; quot; [Item2] Title=EZムービー / 映像 H.264 288kbps 15fps 音声 AAC 96kbps 24kHz Stereo Command0= quot; quot; %AppPath% \cores\ffmpeg quot; -y -i quot; %InputFile% quot; -pass 1 -passlogfile quot;2pass.log quot; -timestamp quot; %TimeStamp% quot; -bitexact -qmin 1 -qmax 51 -vlevel 13 -vcodec h264 -mbd 2 -4mv -trell -aic -fixaspect -s 320x240 -r 15 -b 288 -an -f 3g2 -muxvb 192 quot; %TemporaryFile% _1.3g2 quot; quot; Command1= quot; quot; %AppPath% \cores\ffmpeg quot; -y -i quot; %InputFile% quot; -pass 2 -passlogfile quot;2pass.log quot; -timestamp quot; %TimeStamp% quot; -bitexact -qmin 1 -qmax 51 -vlevel 13 -vcodec h264 -mbd 2 -4mv -trell -aic -fixaspect -s 320x240 -r 15 -b 288 -acodec aac -ac 2 -ar 24000 -ab 48 -f 3g2 -muxvb 192 -muxab 64 quot; %TemporaryFile% _1.3g2 quot; quot; Command2= quot; quot; %AppPath% \cores\QT3GPPFlatten quot; quot; %TemporaryFile% _1.3g2 quot; quot; %TemporaryFile% _2.3g2 quot; -c QT_3GPP2_QVGA_AAC.ini quot; Command3= quot; quot; %AppPath% \cores\ATOMChanger quot; quot; %TemporaryFile% _2.3g2 quot; quot; %OutputFile% .3g2 quot; quot;Camouflage_MOVIE_for_MEDIA_SKIN.ini quot; quot; Command4= quot;cmd /c quot;del quot; %TemporaryFile% *.* quot; quot; quot; Command5= quot;cmd /c quot;del quot;2pass.log*.* quot; quot; quot;
https://w.atwiki.jp/tmiya/pages/130.html
Scala 2.8 における 名前付き引数とデフォルト引数 (Named and Default Arguments in Scala 2.8) Lukas Rytz 2009年11月9日 英語PDF 目次 1 はじめに (Introduction) 2 名前付き引数 (Named arguments) 2.1 他フィーチャーとの統合 (Integration with other features) 3 デフォルト引数 (Default arguments) 3.1 他フィーチャーとの統合 (Integration with other features) 4 実装 (Implementation) 4.1 名前付き引数 (Named arguments) 4.2 デフォルト引数 (Default arguments) 1 はじめに 同じ型の複数のパラメータをとるメソッドは、コンパイル時に検出することのできない間違いの元になります。同じ型の 2 つの引数を交換してもエラーにはなりませんが、予期しない結果をもたらす可能性があります。 この問題は、名前付き引数を使うことで手際よく避けることができます。 さらに、名前付き引数にすれば、多数の引数を持つメソッド呼び出しの可読性が増します。 このドキュメントで論じられる、言語の 2 番目のフィーチャーであるデフォルト引数は、一般に名前付き引数とは独立したことです。 しかし 2 つのフィーチャーを併用すれば、有用性が実際に増します。たとえば、メソッドのパラメータリストの終わりにデフォルト値をもつパラメータを置く必要がなくなります。そのようなわけで、2 つのフィーチャーを一緒に導入します。 2 名前付き引数 (Named arguments) Scala 2.8 では、変数の代入と同じ構文を使う名前付きのスタイルで、メソッド引数を指定できます。 def f[T](a Int, b T) f(b = getT(), a = getInt()) 引数式は呼び出す場所順で評価されるので、上の例では、getT() は getInt() の前に実行されます。名前付きと位置引数の混成は、位置引数部が引数リストの前方にある形なら許されます。 f(0, b = "1") // 有効 f(b = "1", a = 0) // 有効 // f(b = "1", 0) // 無効、名前付き引数の後に位置引数あり // f(0, a = 1) // 無効、パラメータ a の 2 度指定 もし引数式が "x = expr" の形で、x がメソッドのパラメータ名でないなら、その引数は、ある変数 x への代入式として扱われます。つまり引数型は Unit です。ですから次の例は期待通り、依然動作します。 def twice(op = Unit) = { op; op } var x = 1 twice(x = x + 1) もし、式 "x = expr" が名前付き引数(パラメータ名 x)あるいは、代入(スコープ中の変数 x)の両方に解釈できるなら、エラーです。 もし式が丸括弧あるいは中括弧の付加的なセットで囲まれていれば、決して名前付き引数として扱われません。 同様に、適用引数が( f{ arg } のような)ブロック式なら、arg は決して名前付き引数として扱われません。 def twice(op = Unit) = { op; op } var op = 1 // twice(op = op + 1) // エラー `op への参照が曖昧 twice((op = op + 1)) // 代入、名前付き引数ではない twice({op = op + 1}) // 代入 twice{ op = op + 1 } // 代入 2.1 他フィーチャーとの統合 (Integration with other features) 次のリストは、名前付き引数が Scala 言語の他フィーチャーにどのような影響を与えるかを示します。 名前呼び出しパラメータ (By-Name Parameters) 名前呼び出しパラメータは、名前付き引数を使っているときでも、期待通り依然機能します。 式は、メソッド本体がパラメータにアクセスするときのみ(そして繰り返し)評価されます。 反復パラメータ (Repeated Parameters) アプリケーションが名前付き引数を使うとき、反復パラメータは正確に 1 度だけ指定されなければなりません。 同じパラメータ名を何度も使うことは許されません。 関数値 (Functional values) Scala における関数値(functional value)は、apply と呼ばれるメソッドを実装したクラスのインスタンスです。名前付きの適用(named application)に対して、その apply メソッドのパラメータ名を使えます。 その静的な型が scala.FunctionN である関数値に対して、その apply メソッドのパラメータ名を使えます。 val f1 = new { def apply(x Int) = x + 1 } val f2 = (x Int) = x + 1 // Function1[Int, Int] のインスタンス f1(x = 2) // OK // f2(x = 2) // "エラー not found value x" f2(v1 = 2) // OK, v1 は Function1 中のパラメータ名 オーバーライド (Overriding) サブクラス中でメソッドをオーバライドする(あるいは抽象メソッドを実装する)時、パラメータ名はスーパークラス中のものと同じである必要はありません。 名前付き引数を使う適用の型チェックについて、メソッドの静的な型に応じて使われる名前が決まります。 trait A { def f(a Int) Int } class B extends A { def f(x Int) = x } val a A = new B a.f(a = 1) // OK オーバーロードの解決 (Overloading Resolution) When a method application refers to an overloaded method, first the set of applicable alternatives is determined and then the most specific alternative is chosen (see [1], Chapter 6.25.3) . The presence of named argument influences the set of applicable alternatives, the argument types have to be matched against the corresponding parameter types based on the names. メソッド適用がオーバーロードされたメソッドを参照するとき、最初に、適用可能な代替物の集合が決定され、次に、最も特化した(most specific)代替物が選択されます([1]、§ 6.25.3 参照)。 名前付き引数の存在は、適用可能な代替物の集合に影響を与え、引数型は対応するパラメータ型に、名前に基づいてマッチしなければなりません。 次の例では、2 番目の代替物が適用可能です def f() // #1 def f(a Int, b String) // #2 f(b = "someString", a = 1) // using #2 もし複数の代替物が適用可能なら、最も特化したもの(most specific)が決定されます。 このプロセスは、特定の適用で使われる引数名に依存せず、ただメソッドのシグニチャだけを見ます(詳細な記述は、[1]、§ 6.25.3 参照)。 次の例で、代替物の両方とも適用可能ですが、どちらも他方より特化してはいません。 なぜなら、引数型は、引数名ではなくそれらの場所に基づいて比較されるからです。 def f(a Int, b String) // #1 def f(b Object, a Int) // #2 f(a = 1, b = "someString") // "エラー オーバーロードされた定義への // 曖昧な参照 無名関数 (Anonymous functions) 無名関数を生成するプレースホルダー構文は、名前付き引数でも機能するように展開されます。 def f(x Int, y String) val g1 Int = Int = f(y = "someString", x = _) val g2 = f(y = "someString", x = _ Int) 3 デフォルト引数 (Default arguments) デフォルト引数をもつメソッドパラメータは "p T = expr" の形をとります。メソッド適用でデフォルト引数を使う時にはいつでも expr が評価されます。 デフォルト引数を使うためには、メソッド適用において対応するパラメータは除外されなければなりません。 def f(a Int, b String = "defaultString", c Int = 5) f(1) f(1, "otherString") f(1, c = 10) // c は名前付き引数として指定される必要あり デフォルト引数をもつすべてのパラメータに対して、デフォルト式を計算する合成メソッドが生成されます。 メソッド適用でデフォルト引数を使うとき、見つからないパラメータは、対応する合成メソッドへの呼び出しの形で引数リストに加えられます。 def f(a Int = 1, b String) // メソッド生成 def f$default$1 = 1 f(b = "3") // 変換 f(b = "3", a = f$default$1) デフォルト引数は任意の式で構いません。 パラメータのスコープは、後に続くすべてのパラメータリスト(そしてメソッド本体)に及ぶので、デフォルト式は、先行するパラメータリストのパラメータ(ただし、同じパラメータリスト中の他のパラメータを除く)に依存できます。 前のパラメータに依存するデフォルト値を使うときは、デフォルト引数ではなく実際の引数が使われることに注意してください。 def f(a Int = 0)(b Int = a + 1) = b // OK // def f(a Int = 0, b Int = a + 1) // "エラー 値 a が見つからない" f(10)() // 11 を返す ( 1 ではない ) メソッドパラメータ "x T = expr" のデフォルト引数 expr の型チェックについては、特別の要請型(expected type)が使われます。それは、メソッドの型パラメータ(コンストラクタ用のクラスの型パラメータ)のすべての出現を未定義の型で置き換えて得られるものです。これにより、多相的メソッドとクラスに対してデフォルト引数を指定できます。 def f[T](a T = 1) = a f() // 1 Int を返す f("s") // "s" String を返す def g[T](a T = 1, b T = "2") = b g(a = "1") // OK, "2" String を返す g(b = 2) // OK, 2 Int を返す g() // OK, "2" Any を返す // g[Int]() // "エラー 型不一致; Int 要請に対し String 発見" class A[T](a T = "defaultString") new A() // A[String] のインスタンス生成 new A(1) // A[Int] のインスタンス生成 3.1 他フィーチャーとの統合 (Integration with other features) 次のリストは、デフォルト引数が Scala 言語の他のフィーチャーにどのような影響を与えるかを示します。 名前呼び出しパラメータ (By-Name Parameters) 名前呼び出しパラメータ上のデフォルト引数は期待通り機能します。 もし適用がデフォルト引数つきの名前呼び出しパラメータを指定していないなら、デフォルト式は、メソッド本体がそのパラメータを参照する時にはいつも、評価されます。 反復パラメータ (Repeated Parameters) 反復パラメータで終わるパラメータ部中でデフォルト引数を指定することは許されていません。 オーバーライド (Overriding) デフォルト引数をもつメソッドが、オーバライドされるかあるいは、サブクラスで実装されるとき、すべてのデフォルトは継承され、サブクラスで利用できます。 サブクラスはデフォルト引数もオーバライドでき、スーパークラス中でデフォルトをもたないパラメータに新しいデフォルトを加えることができます。 型チェックの間、パラメータがデフォルト値を持っているかどうかを決定するのに、静的な型が使われます。 実行時、デフォルトの使用はメソッド呼び出しに変換されるので、デフォルト値はレシーバオブジェクトの動的な型に応じて決定されます。 trait A { def f(a Int = 1, b Int) (Int, Int) } // B 継承してデフォルトを加える class B extends A { def f(a Int, b Int = 2) = (a, b) } // C デフォルトをオーバライド class C extends A { def f(a Int = 3, b Int ) = (a, b) } val a1 A = new B val a2 A = new C // a1.f() // "エラー 未指定のパラメータ value b" a2.f(b = 2) // (3, 2) が返る オーバーロード (Overloading) もし、メソッドのオーバーロードされた代替物が複数あるなら、多くても 1 つだけがデフォルト引数を指定できます。 オーバーロードの解決 (Overloading Resolution) メソッド適用式中に複数のオーバーロードされた代替物が適用可能であるとき、デフォルト引数を使う代替物は決して選択されません。 def f(a Object) // #1 def f(a String, b Int = 1) // #2 f("str") // 双方とも適用可能、#1 が選ばれる ケースクラス (Case Classes) すべてのケースクラスに対し、"copy"という名前のメソッドが作成され、それによりクラスのインスタンスの修正コピーを容易に生成できます。 copy メソッドはケースクラスの主コンストラクタと同じ型と値パラメータをとり、すべてのパラメータのデフォルトを対応するコンストラクタ・パラメータへ持ち込みます。 case class A[T](a T, b Int) { // def copy[T ](a T = a, b Int = b) A[T ] = // new A[T ](a , b ) } val a1 A[Int] = A(1, 2) val a2 A[String] = a1.copy(a = "someString") copy メソッドは、"copy" という名前のメンバーが既にそのクラスあるいは、その親の 1 つに存在しない場合にだけ、追加されます。 これは、ケースクラスがもう 1 つのケースクラスの拡張であるとき、ただ 1 つの copy メソッドがあるということ、すなわち、それは階層構造中で最も低位のケースクラスからのものであることを意味します。 暗黙のパラメータ (Implicit Parameters) 暗黙のパラメータにデフォルト引数を指定できます。 これらのデフォルトは、パラメータ型に一致する暗黙の値が見つからない場合に使われます。 def f(implicit a String = "value", y Int = 0) = a +" "+ y implicit val s = "size" println(f) // "size 0" と印字 4 実装 4.1 名前付き引数 (Named arguments) 名前付き引数を使うとき、引数の順番は、メソッド定義のパラメータ順と一致する必要はありません。 呼び出し場所順で引数式を評価するために、メソッド適用は次のようにブロックに変換されます class A { def f(a Int, b Int)(c Int) } (new A).f(b = getB(), a = getA())(c = getC()) // 次へ変換される // { // val qual$1 = new A() // val x$1 = getB() // val x$2 = getA() // val x$3 = getC() // qual$1.f(x$2, x$1)(x$3) // } 4.2 デフォルト引数 (Default arguments) コンパイラはすべてのデフォルト引数式に対して、その式を計算するメソッドを生成します。それらのメソッドは、メソッド名と文字列 "$default $"、パラメータ位置を示す数等からなる、ただ 1 つに決まる名前をもちます。 各メソッドは、オリジナルのメソッドの型パラメータと、対応するパラメータに先行する値パラメータ部によってパラメータ化されます def f[T](a Int = 1)(b T = a + 1)(c T = b) // 次が作成される // def f$default$1[T] Int = 1 // def f$default$2[T](a Int) Int = a + 1 // def f$default$3[T](a Int)(b T) T = b コンストラクタのデフォルトについて、それらのメソッドは、クラスの(もしそれが存在しないなら、生成される)コンパニオンオブジェクトに加えられます。 他のメソッドについては、デフォルトメソッドはオリジナルのメソッドと同じ場所に生成されます。 デフォルト引数を使うメソッド呼び出しは、上述の名前付き引数と同じ形のブロックに変換されます f()("str")() // transformed to // { // val x$1 = f$default$1 // val x$2 = "str" // val x$3 = f$default$3(x$1)(x$2) // f(x$1)(x$2)(x$3) // } 参考文献 [1] Odersky, M. The Scala Language Specification, Version 2.7. オンラインでの入手先 http //www.scala-lang.org/docu/files/ScalaReference.pdf http //www.scala-lang.org/docu/files/ScalaReference.pdf SIDライブラリ ページ先頭
https://w.atwiki.jp/takujijo/pages/2637.html