はてなキーワード: trueとは
PHPの授業をしている。
「論理演算子は左辺の計算がtrueになったら右の計算をやらないで飛ばす」
仕組みやアルゴリズムを熱く語っている。
多分仕事でプログラミングを書いているうちに、作るよりも書くことが好きになり、いかに書くことが楽しいかを伝えたがっている。
そこがやりたいんじゃない。
こっちはプログラミングで作りたい。
「取り敢えず動くPHPを使えばイカしたWEBサイトを作れそうだ」
「PHPでもなちゃとみたいなのが作りたい」
でも先生方が書くことに時間をかけている性で、だんだん気が滅入って、「プログラミングって複雑で面倒なんだなあ」と悟り、コンテンツ作りを諦めて元となる文学に走っていく。
はぁ〜つまんねぇ〜(・_・)
Wolfram Alphaで計算してみた
http://m.wolframalpha.com/input/?i=sinh(x)sin(y)%3D2a%2Ccosh(x)cos(y)%3D2b&incCompTime=true
便宜的に「性の悦びおじさん」という俗称で呼ばせてもらうが、最初に断っておくと、彼がパフォーマーとして優れている、というのはエントリの本筋ではない。まず前提として知ってほしいのは、現状、彼が不憫すぎる状況に置かれているという問題だ。
「性の喜びを知りやがって」発言の一般人男性が盗撮されネット上で玩具にされている事について - Togetterまとめ
その解決方法の1つがタイトルの通りなのだけど、これは囃し立てるような冗談で言っているわけではなく、わりと真剣にベストな方法ではないかと思っている。
以下、やや長文になるが整理しながら論を進めたい。
ニコ動に投稿された盗撮動画に端を発して、その後はまとめサイトやSNSでも拡散され、「性の悦びおじさん」は今や一番ホットなコンテンツ(玩具)になってしまっている。さらにはその人気にフリーライドしようと、ネット民がこぞって盗撮行為を行っているからタチが悪い。
まだ本人が騒動に無自覚であれば救いもあるが、以下のツイートにあるように「盗撮してくる人が多くて腹立つ」と本人も憤慨している様子。
@SAKU_wss さっきの写真はお願いして撮ってもらった写真です!お願いしたら快くOKしてもらえました「盗撮してくる人が多くて腹立つけどお前達はいいな!」って言ってくれてそこから1時間以上話し込んで、すっかり仲良くなっちゃいました☺️誤解生むようなツイート内容でごめんなさい!— SAKU@WSS? (@SAKU_wss) 2016年10月23日
誰かも知らない連中から隙きあらばカメラを向けられ、目撃情報はSNSで広くシェアされる。東京はマッドシティかよ。こんな世の中、確実に狂ってる。彼はポケGOのラプラスじゃない。肖像権だってある一般人だ。
昨年、チャゲアスのASKAがシャブ容疑で逮捕されたが、彼がブログにアップしていた文章が統失患者(あるいは覚せい剤の副作用)のそれを思わせる内容で、はてブ界隈でも話題になったことは記憶に新しい。
ASKAのブログ(2016.01.09~13公開分/キャッシュ) - Togetterまとめ
その狂気的な筆鋒から、彼がどれほど異常な世界に生きていたのかは察するに余りあるが、数あるエントリの中でも、特に以下の記述は当時の彼の心情をよく表している。
これが彼のリアルな心象世界だったのだから正に生き地獄だが、ここで思い起こされるのは、そう、これは今の性おじさんの置かれた状況に酷似している。似てはいるが大きく異なるのは、彼が生きている世界は無情にも現実という点だ。幻覚幻聴ではないので有効な対処法はなく、もはやそこに救いはない。
【動画あり】統合失調症体験ができるVRがとてもしんどいと話題に - Togetterまとめ
ひとたび外に出れば統合失調症のVRを強制体験させられると考えてみてほしい。こんな世界に生きていれば、壊れていない大脳だって加速度的に欠損してしまうだろう。
過去には『ぼっさん』もフリー素材として利用されていたが、彼の場合は自身が素材になることを容認していたし、そもそもは自業自得なところもあった。盛り上がっていたのもコアな界隈だけであったし、実生活までストーキングされるようなことも当然なかった。
直近の似た例として『たれぞう』もいるが、彼は自らYoutuberとして動画をアップしていたし、オッサンの身で小学生のOFF会に参加する等、ネット民に目を付けられても仕方のない理由が少なからずあった。
その点、性の悦びおじさんの場合は、ただ電車内で独り言をいっていたにすぎない。マナーとして不適切ではあるものの罪を犯したわけでもなく、咎められこそされ、ここまで晒し行為を受ける謂れはない。
唯一『左足壊死ニキ』に関しては近いものを感じるが、彼の場合は重篤な負傷者であるため、ネタにできない(嘲笑できない)禁忌感を放っており、ネットで行われる行為は晒しというよりも生存報告の意味合いが強い。そのため写真を撮られることはあっても、動画を撮られ晒されることはほとんどない。また元より壊死ニキはホームレスであり、悪臭を撒き散らして街の地べたを根城にし、常に痴態を晒していることからも、写真を撮られることはあまり気にしていないように思う。憂慮すべきはもっと別にあるのだから。壊死ニキの胸の内は分からないが、性の悦びおじさんと同じ文脈では語れないだろう。
有り体に言って、性の悦びおじさんは面白い。つらつら書いた後に矛盾するようで申し訳ないが、私はネットにアップされた彼の動画をあらかた視聴している。要するに彼の大ファンだ。
彼の動画は「性の悦びを知りやがって」と情緒たっぷりに憤るものが有名だが、実はその後も継続して見事な口上を披露している。勘違いしている人も多そうだが、彼は世間にその異常性を笑われているわけではなく、彼自身の言葉で人を魅了しているのだ。
彼には人を惹きつける類まれな才がある。
堂に入った佇まい、舞台演者を思わせる通る声、研ぎ澄まされた言語感覚、魂を揺さぶるシャウト、横溢するルサンチマン…etc. 長所を挙げるとキリがないが、私が彼にここまで強く惹かれる理由は、古き良きテキサイ時代を彷彿とさせる、その突き抜けた非モテ芸にある。
以下、彼の口上から言葉の一部を引きたい。
Making love. I make love.
I'm alone ago. 20 years ago. no make love.
I want to make love.
I want to feel... ecstasy!! will... ecstasy!!
それを諦めん、それまで諦めん Making love.
I go. making love.
する!すると言ったらする!
諦めん! Never give up.
I want to make love. I want will ecstasy, ecstasy.
する! 諦めん!
なんで諦める必要があるか 20年以上しとらん!
これを即興でやる。予定調和のスタンダップコメディ等とは違い、脳直で吐き出される言葉の数々には五感を揺さぶるパワーがある。さながら本格ジャズの即興演奏だ。
圧巻と言う他ない。長らく暗渠で醸成されたであろう負の感情が、これでもかと言わんばかりに炸裂している。有象無象の非モテ民が束になっても敵わないだろう。彼の言葉には彼だけが語れる真実がある。
この流れで勝手を言わせてもらうと、ネットに跋扈している非モテ気取りどもは、大抵世間ウケを狙っただけのファッション非モテ()だ。テキサイの畑で育ったヨッピーだって、非モテのスタンスを取りながらも、結局イケメンで若い頃からモテまくってただろうし(結婚おめでとう)、オモコロのライター陣とかも似たようなモンだろう。非モテ(童貞)の気持ちを代弁している伊集院も、冷静に考えれば美人タレントと結婚してるモテ豚なわけで、あくまでビジネス非モテに過ぎない。
性の悦びおじさんは、積み重ねてきた負のバックグラウンドが違うのだ。だから彼から放たれる言葉は最高にエモーショナルで心に深く刺さるのである。
彼は数字が取れる。動画の再生数だけでなく、彼に関するツイートのRT/Favの数を見れば明らかだ。また彼は個のキャラクターが立っているだけでなく、その噺・口上によって人を惹きつけるため、自らコンテンツを生み出し続けることができる。Youtuberとして成功するにはこのポイントは欠かせない。
例えば件のYoutuber『たれぞう』は同じくニコ動で人気を博したが、彼の場合はあくまで第三者(職人)の手により「神(ZEUS)たれぞう」という虚像が作り上げられ、さらにヒカキンとの対立煽りを演出することで再生数を伸ばしていった。いわばユーザーの連携プレーにより動画を創っていたのが実情なため、肝心のたれぞう自体には創造性はなく、自らアップしている動画はあまり再生数が伸びていない。
その点、性の悦びおじさんは違う。ありのまま(Rawデータ)でいい。ベルジャネーゾ氏のように、特定発言だけがフィーチャーされた一発屋でもなく、安定してコンテンツを供給できる実力もある。そして彼は唯一無二の存在であるため、ブルーオーシャンで勝負できる。
Youtubeを見渡して欲しい。人気Youtuberと呼ばれる者たちは「性の悦び」を知ったような顔をして、どこかで観たようなネタを焼き直しているだけだ。キレ芸を得意とするシバターもいるが、彼は道楽でやっていることを公言している(豪邸も披露している)し、女に困ってそうな様子もまったくない。過激な発言をしてみたところで、所詮アッパークラスの戯言に過ぎないのだ。
ヒカキンを筆頭格として、人気Youtuberはネット民に蛇蝎のごとく嫌われる。それはネットには常に妬み、嫉み、僻みといった、人間の負の感情が渦巻いているからだ。人格者であっても無条件に叩かれる。そんなネットの特性故に、かつて「非モテ」文化が隆盛を極めたが、今の時代には真の「非モテ」ヒーローが不在であるため、ネット民の淀んだ感情は行き場をなくしている。
非モテヒーロー不在のこんな時代だから、性おじさんへの期待も自然とデカクなる。ネット民から愛される素養がある以上、彼が人気Youtuberになれる公算は極めて高いだろう。
一番の理由は冒頭でも書いた通り、彼の不憫な状況を解消するための手段に成り得るからだ。彼が公式にYoutuberとしてコンテンツを発信すれば、盗撮動画をアップする必要も薄れる(希少性が下がる)ため、次第に晒し行為も淘汰されていくことが考えられる。またコンテンツ保護の側面もあり、動画が再生されればその利益はすべて彼に還元される。ユーザー観点で見ても、動画を視聴する後ろめたさがなくなるため、純粋な気持ちで彼を応援することができ、まさしく良いこと尽くめである。
と、尤もらしいことを書いてみたが、以上の理由がすべて見せ玉となる本命ストレートな理由がある。それは、
性の悦びおじさんが抱える、性(セックス)に対する渇望は本物だ。とある動画で雄弁に語っていたが、彼はデリヘルこそ利用するものの、風営法を遵守し、己の哲学に従いソープには頑として行かず、20年以上ガチでセックスはしていないという。
彼は安いセックスは拾わないのだ。彼が求めるものは一点の曇りもないピュアな愛――。
これだけオサセが幅を利かせる世の中で、女どもがガラケーよりも簡単にパカパカ股を開く淫れた世にあって、なぜ彼に光が当たらないのか。小学生ですらスプラトゥーンで8人プレイに興じているというのに、なぜ彼のペニスはいつまで経っても1人プレイ限定仕様なのか。なにも彼はセカンド童貞の操を守っているわけでも、純愛セックスを諦めているわけでもない。「する!すると言ったらする!」という固い決意にあらわれているように、彼はただひたすらにセックスを求めているだけだ。
ブロガー、歌い手、実況者、生主、Youtuber。特定の界隈で人気を得た者は間違いなくモテる。合法的にセックスできる。例を上げればキリがないので、ここであえて詳細に語る必要もないだろう。不細工だろうがクズだろうが関係ない、人を惹きつける才能があればセックスの道が拓ける、それがインターネッツだ。
セックスの舞台として、Youtubeを利用することは下賤だと思う人もいるかもしれない。だが、ヒカキンが歌うYoutubeのテーマソングを思い出してもらいたい。
今ならかなうさ夢あきらめるな Let's Try Again
少し真面目な話になるが、性の悦びおじさんが独力でYoutuberデビューすること難しいと考えている。高度な知識はいらないが、多少のスキルとリテラシーが求められるし、それなりの撮影機材や動画編集ソフトがある方が望ましい。彼がそれらを持ち合わせている可能性は極めて低いだろう。
マルチチャンネルネットワーク(MCN)への加入が最適に思われるが、マージンとして利益の20%~50%を持っていかれるので、タイアップ広告が期待できない彼にとっては、都合がいいように搾取されるのが目に見えている。
理想形はユーザー(ファン)が無償で手助けしてあげることだ。できることなら企画立案も含め全てのサポートを私がしたいが、彼とコンタクトを取る手段がないため難しい。連絡先を知っている(聞いた)人がいれば教えて欲しいと切に思っているぐらいだが、この方法は現実的ではないだろう。
期待したいのは、オモコロの企画としてヨッピーあたりがデビューの手助けをすること。取材という形で彼の真意を確認するだけでも意義はあるし、彼がYoutuberになることに前向きであるなら一先ずは動画投稿までをサポートするだけでもいい。趣旨を正しく説明すれば炎上することもないだろうし、記事により初動で勢いがつけば性おじさんにとっても大きな手助けとなるだろう。バーグハンバーグバーグがMCNと交渉して、特別待遇の橋渡しをするものいいだろうし、可能ならバーグ自身が継続してケアをするのも悪くないと思う。
ちなみに動画の一面だけを見て彼を異常者・コミュ不全と思ってる人もいるようだが、若者と柔和な表情で話している様子も確認されていて、その点は心配しないでいいだろう。
性の悦びおじさんのデビューが成功した場合、彼の生活は一変するだろう。街で騒がれることがあっても、それは「人気Youtuber」として親しまれるという意味に変わる。
人気が出ればYoutube以外の展開も期待できる。ノンフィクションの自伝を執筆するのもいいだろう。彼の生い立ちは興味深いものがあるし、「ある日突然、異世界――皆に一方的に監視されている――にワープした」という流行りのラノベのような設定も地で使えるので、出版社からも引っ張りだこだろう。
ただ、これは身勝手な願望も含まれるが、彼がセカンド童貞を喪失した場合、その時はスパっと引退してもいいのかもしれない。
一昔前、『アジア系』という非モテ界のカリスマと讃えられたテキサイがあった。運営者である『蝦』氏はネットで彼女を作ることを目的にサイトを始め、彼女できた瞬間にスパっと更新を止めたのである。最後の日記は彼女の手によって書かれ、掲示板には「閉鎖おめでとう」という切ない言葉が並んだ。人気絶頂の中でサイトは閉鎖され、彼は伝説になった。
Youtubeのチャンネル名は「はてなポイントを使い切るまで死なないブログ」というモテ男のブログ名にあやかって「セカンド童貞を喪失するまで辞めないYoutuber」としてもいいかもしれない。
clang: warning: argument unused during compilation: '-I .'
clang: warning: argument unused during compilation: '-I proto'
clang: warning: argument unused during compilation: '-U _FORTIFY_SOURCE'
screen.c:1513:17: warning: self-comparison always evaluates to true [-Wtautological-compare]
if (curwin == curwin)
^
screen.c:5676:19: warning: self-comparison always evaluates to true [-Wtautological-compare]
&& Columns == Columns)
regexp.c:3790:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:3790:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:3790:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:4052:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:4052:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:4052:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:5276:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:5276:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:5276:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:5337:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_startpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_startp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:5337:24: note: remove extraneous parentheses around the comparison to silence this warning
{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_startpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_startp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };
~ ^ ~
regexp.c:5337:24: note: use '=' to turn this equality comparison into an assignment
{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_startpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_startp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };
^~
=
regexp.c:5355:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_endpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_endp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:5355:24: note: remove extraneous parentheses around the comparison to silence this warning
{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_endpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_endp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };
~ ^ ~
regexp.c:5355:24: note: use '=' to turn this equality comparison into an assignment
{ if ((rex.reg_match == ((void*)0))) *(&rex.reg_endpos[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.pos; else *(&rex.reg_endp[rp->rs_no]) = (&rp->rs_un.sesave)->se_u.ptr; };
^~
=
regexp.c:5516:22: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:5516:22: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:5516:22: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:6213:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:6213:21: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:6213:21: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:6266:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:6266:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:6266:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:6294:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:6294:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:6294:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:6325:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:6325:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:6325:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:6341:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:6341:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:6341:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:6363:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:6363:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:6363:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:7711:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:7711:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:7711:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
regexp.c:7740:23: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
regexp.c:7740:23: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
regexp.c:7740:23: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
In file included from regexp.c:8043:
./regexp_nfa.c:3995:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:3995:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:3995:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4014:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4014:21: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4014:21: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4036:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4036:21: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4036:21: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4055:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4055:21: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4055:21: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4086:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4086:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4086:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4227:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4227:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4227:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4609:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4609:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4609:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4670:22: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4670:22: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4670:22: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4733:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4733:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4733:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4767:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4767:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4767:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:4954:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:4954:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:4954:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:5106:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:5106:21: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:5106:21: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:5120:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:5120:21: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:5120:21: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:5144:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:5144:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:5144:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:5231:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:5231:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:5231:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:5486:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:5486:25: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:5486:25: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:5608:21: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:5608:21: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:5608:21: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:5897:23: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:5897:23: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:5897:23: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:5987:26: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:5987:26: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:5987:26: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:6873:26: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:6873:26: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:6873:26: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:6997:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:6997:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:6997:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
./regexp_nfa.c:7095:24: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((rex.reg_match == ((void*)0)))
~~~~~~~~~~~~~~^~~~~~~~~~~~~
./regexp_nfa.c:7095:24: note: remove extraneous parentheses around the comparison to silence this warning
if ((rex.reg_match == ((void*)0)))
~ ^ ~
./regexp_nfa.c:7095:24: note: use '=' to turn this equality comparison into an assignment
if ((rex.reg_match == ((void*)0)))
^~
=
どうでもいいけど
bool a = nanka(); if ( a && !a ) { .... }
というコードをコンパイルしたら「comparison is always true」的な警告が出るはずだと思って試してみたら意外にもgccでは出なかった(最適化時は黙って消える)
「if ( (unsigned int)a >= 0 ) 」だったら警告出るのにね
笑った。
「trueを返してほしいだけ」
そりゃ、状況がtrueなのにfalseって返す男はいないんだよ。でも女は状況が明らかにfalseなのに男にtrueと返すことを期待・要求する。これが無理難題なんですよ。
いやいやいやさ、以下と
if (somethingWrong == true) { return true; } else { return false; }
以下は
return somethingWrong;
等価じゃん?
前者は無駄にif文があって冗長じゃん?違和感を感じる感じじゃん?
そんで変数に入ってるってことは、もっと前の段階でtrue、falseが確定してるわけじゃん?
そこで返せばより簡潔じゃん?
いや、普通にプログラマならわかることしか言ってないと思うんだけど。
何につっかかってんの?
トラバ全部読んでないけど、
boolean したいことをする? () { if( param==0 && 判定(param2) ){ return true; }else if( !param3 ){ return true; } return false; } if(したいことをする?()) { したいこと(); }
のほうが好き
a = b * c + e
こんなのでも、
a = (b * c) + e
同様に、
if(param==0 && 判定(param2) || !param3){
も
if((param==0 && 判定(param2)) || !param3){
とすればよい。
if文が長くなるなら、条件式を丸〃、関数化するのもあり。
bool func hoge(param, param2, param3){
if(param==0 && 判定(param2)){
return true;
}
if(!param3)){
return true;
}
return false;
}
if(hoge(param, param1, param2){
これでもわかりづらいなら、
bool func hoge(param, param2, param3){
if(param==0){
if(判定(param2){
return true;
}
}
if(!param3)){
return true;
}
return false;
}
if(hoge(param, param1, param2){
など。
最近の若者はワンライナーなのか、3項演算子使わないと馬鹿にされるのか知らないけれど、
賢そうな構文は使わなくていい。
boolean check(int param, int param2, int param3) { if ( param == 0 && 判定(param2) ) { return true; } else if ( param3 == false ) { return true; } else { returnn false; } } void main() { if ( check(param, param2, param3) ) { //したいこと } }
//入力値チェック
if (param !=0) {
return false;
}
//Hoge1とは何か?
boolean isHoge1 = 判定(param2);
//Hoge2とは何か?
boolean isHoge2 = !param3;
if (isHoge1 && isHoge2) {
return true;
}
return false;
俺にはこれが限界だ。
自分が知っている言語だと、「param == 0」は前提にならないと思うのですが、想定している言語を教えて頂いても構わないでしょうか?
自分の知っている言語では論理積・論理和の評価優先順位は同じ物ばかりで、上げられている条件分に関しては
if ((param==0 && 判定(param2)) || !param3) {~}
そのため、仮にparamが0以外だったとしても、!param3がtrueと評価されるような値の場合は条件を満たすと思われるのですが。(実際node.jsのv5.11.0で試した所そのようになりました。)
追記:論理積と論理和の優先順位で間違いがあったため修正しました。
まず最初の条件をif分を一回終わらせて入れ子にするか、falseならreturn させるといい。
入れ子になってもとにかく自分が分かるようにするといいです。
一行で書くのはそのあとではどうだろう
if(param == 0 && test(param2)) { if(!param3) { something todo } } また if(!(param == 0 && test(param2))){ return false; } if(test(param2) || !param3) { 実行分 }
あと、一つの条件式で書きたいなら、括弧を使ったり、改行したりして、式の流れを細かくすると分かりやすくなる。
2:paramが0
3:かつ
なのに param==0 && 判定(param2) || !param3 だと
param==0 && 判定(param2)
と
!param3
だけど、日本語を言葉にすると「paramが0かつ判定関数でparam2の条件を返して、trueまたはparam3がfalseのときがtrueだから」
だから、論理演算子が複数になるときは、日本語でかつ、または使うと逆に混乱するから、
trueになる一つ目の条件の時は「○○」またはといったように書くと、
それ以外には既に上げていた色んな増田の方のやり方もそうだし、
is_children = age < 20 has_game = check_game(param2) if(is_children &amp;&amp; has_game) { print ゲームをもったこども }
23歳になってようやく、10歳頃からの慢性的疾患であるところの厨二病が治りかけてきたと思っている。
中二病にも、邪気眼系、暗黒微笑系、尾崎系等色々種類はあるが、ここでは、
「俺みたいな中3でグロ見てる腐れ野郎、他に、いますかっていねーか、はは
あの流行りの曲かっこいい とか あの服ほしい とか
ま、それが普通ですわな
it’a true wolrd.狂ってる?それ、誉め言葉ね。
的類いのものと捉えてくれていい。
2016年6月の終わり頃、Twitterのトレンドに乗じて、「上半期に観た映画ベスト」なるものを自分も投稿したのだが、1位は、「ズートピア」とした。「ディズニーを敢えて1位として褒める、一周回って「アリ」」みたいなひねくれた気持ちでなく、これは純粋に、1位だと思ったからだ。
なので、先日公開された「シン・ゴジラ」も、事前の絶賛感想、また、「庵野…俺の負けだ…」という島本和彦氏のアツいツイートなどを見て、本当に愉しみにしていた。わざわざIMAXの席を取り、また一刻も早く観たいので平日の夜に、そして、若き日の庵野氏が登場する「アオイホノオ」も復習せねば、と息巻いていたくらいである。
という具合に、完全に、自分も、後でツイッターに、「シン・ゴジラ素晴らしかった!!」と書くつもり満々で(観てもないうちから…)、わくわくしていた。
が。
どこもかしこも大絶賛の理由がである。先程の中二病云々の前置きを入れたのは、これは決して、「流行りに反発する俺カッケー」的精神で言っているのではないという但し書きである。
特に不思議なのは、日頃、人権意識の高かったり、リベラル寄りの人も、「日本の戦い方というのを見せて貰った!!」みたいな論調で褒めていることだ。
いいのかそういう着地で?
多数の有名人たちが登場する中で主役として据えられているのは、内閣官房副長官である「矢口」(ハセヒロ)という人物である。
会議会議で誰もビシっと決断出来ない割にはその会議は最初から「想定内」の結論ありきな形式的なものにすぎないという悪しき日本の慣習に侵された人物が多数を占める中、この矢口という人物だけは、最初から、巨大生物の存在(後にゴジラと名付けられる)の可能性を指摘し、会議と、国民の反感や国際社会からの非難を怖れた日和見で政府が迅速な対応が取れなかったことを悔やみ、
派閥争いとか出世から外れた異端者たちを集めたチームや、石原さとみ演じる米国大統領特使(「意識の高いルー大柴」とか書かれていて笑った)と交渉、根回しすることで、何とか、米国などの言いなりの帰結としての「最終解決法」――「原爆投下」――日本にとっては三度目の――を阻止した上で、ゴジラの被害を食い止めるための解決策へと動く。
これは重大そうで重大でないネタバレだが、私が、ごく少ない素晴しい点だと喜んだのは、中盤あたりで、総理大臣(とその他閣僚数名)が躊躇なくあっけなく死ぬところだ。やな奴だと思っていた総理大臣が、突如矢口に、「君のことは、本当に買っているんだ…」みたいなことを言い始めたり(※補足:これはあくまで死亡フラグの例えで、別に私も劇中で嫌な奴だったとは全然思っていません)、「俺、この戦いが終わったら娘の結婚式に…」みたいな死亡フラグメロドラマもクソもない。あれ、死んだ?程度のタイミングで死ぬ。
「新しいリーダーがすぐに見つかるのがこの国の良いところだな」という劇中の自虐じみたないしは皮肉めいた台詞にあるように、この全然劇的でない死亡劇は、映画の一つのテーマともリンクしていて、国のトップである総理大臣でさえこの国にとっては唯一無二でないところは、しかしある意味では強みになり得るという着地だ。
超越的なカリスマ性や能力を持った人物のみの力で成り立っていたり、「その人だけにしか出来ない事」を抱えた人物が各々バラバラにいる組織は、リーダーや、「その人」がいなくなった途端崩壊してしまう。だから、組織や集団の恒久的な存続の為には、「その人だけにしか出来ない事」「その人でなければならないこと」といった唯一無二性を特定の人物に集中させない仕組み作りが重要なのであり、総理大臣が死んでも替わりがいるというのは、逆に言えば、そうした仕組みが機能しているからこそとも言える。
ゆえに本映画や主人公たる矢口は、徹底して「独占」を否定する。まず通常であればフィクションにとってかなり重要と思われる<キャラクター>の独占の否定。総勢300何人だかのキャストということで、ナントカ大臣とかかんとか色々次々に出てくるが、実質的には3つか4つくらいしかキャラクターは存在していない。誰が文部大臣で誰が防衛大臣でというのはこの映画にとってはどうでもいいことで、口調等微妙にキャラ付けされてはいるものの、「大臣」という一つの役割と行動原理と台詞が、10何人に与えられているに過ぎない。(多分普通の映画だったら2、3人にセリフをまとめるはずである)
「はみ出し者の集まり」とされる、ゴジラの正体究明班だってそうで、「学者っぽいないしはオタクっぽい探究心でゴジラについて調べる人たち」という一つの役割を4人くらいで分担しているだけである。(多分これも通常であれば一人にまとめられる)
これは、多数の人物たちが台詞を次々に言うことでテンポ感を出すという演出上の意味もあるだろうけれど、「チームで一つの役割」を持つべしという価値観の現れでもあろう。
更に、情報や知識の独占の否定。矢口は、本来ならば国の重要機密として扱われるであろう、ゴジラの細胞データサンプルなどの情報を様々な機関や国にばらまくことで、問題の早期解決を導く。三人寄れば文殊の知恵、これは自分ないしは自分たちだけが知っていると独占機密化することで情報の価値を上げるよりも、広く共有することでなるたけ沢山の協力を集めた方が得策である、という姿勢だ。
<超越的>存在であるゴジラに対峙した時、この国を救うのは、同じく超越的な存在や飛び道具ではない。目標を同じくする協力集団であり集合的知識であり、つまり<集合>こそが<超越>を「超える」
でもこれって前半あれだけ揶揄していた、「日本には決定を下せる人がいない」っていうのと紙一重であるから前半部の否定と統合性が取れていないし、
むろんこういうのは、思想的な好き嫌い、価値観の問題で、私は所謂ネット上ではブサヨと呼ばれる方の考えに近いから、ともすれば個の否定に繋がるような着地点に、なんだかなーと思ってしまうわけだけれど、問題なのは、というより、問題だと思うのは、「シン・ゴジラ」は、単なる、「集合バンザイ」を主張しているわけではなく、ともすればっていうかともしなくても命に関わる「有事」に遭遇した際について描いているという点である。
矢口は、一刻も早いゴジラの正体究明に必死になっているチームメンバー達が、カップラーメンのみで食事を済ませ滅多に家に帰らず連日泊まり込み、また帰ったとしても翌朝早く来る様子を見て、満足げに、
「この国もまだまだ捨てたもんじゃないな」
とか微笑み(正直、これだけで元・社畜の自分からしてみれば、けっっっっ、って感じなんだけど)
ラストシーン近く、ゴジラを倒す最終的な作戦の前に、自衛隊その他に向けた、
「今回のヤシオリ作戦遂行に際し、
ここにいる者の生命の保証はできません。
だがどうか実行してほしい!
わが国の最大の力は、この現場にあり、
っつー半ば特攻精神的とも取れる演説。(でほんとに作戦決行中戦車みたいなのが幾つかバカスカやられているような)
そして、国連(だっけか)で決定された、「ゴジラには核落とせ」という判断を、何とか食い止めるための水面下交渉について、アメリカ人(のたぶん偉い人)が発する台詞、
「まさか日本がこんな狡猾な外交手段を取れるとは、危機は日本でさえ成長させるのかもな」(詳細は違うと思うがこんな感じ)
映画の素晴らしさは「共感」にあるわけではない。だからこれが、「完全なフィクション」であれば、私もうるさく言わない。
ファンタジーであれば――たとえば、『進撃の巨人』での出撃前の演説、「心臓を捧げよ!」は確かにアツいシーンである。
しかし、「シン・ゴジラ」の場合は、完全に、フィクションの世界観にあるフィクションの人物の行動原理として切り離すことはできない。明らかに、現在の日本を物語に取り込みそして、あるべき日本の姿を提示しているものだからである。
繰り返すが、断っておくと、これはあくまで個人的な価値観の問題である。
しかし私としては、リベラル寄りの人までも、結構絶賛しているのがよく分からんのだ。
もちろん、放っといたらもっと大勢の人が死ぬっていうのは分かるけど、それでいいじゃないか。それでいいというのは大勢の人が死ねばいいということではなく、多くの命が失われるのを防ぐための方法を、という行動原理で十分じゃないか?
それが、いや、登場人物が内閣とか政治家とかだから仕方ないかもしれないが、国のためとか国民のとかこの国はとかやたらと、まあーーーーうっるさい、しつこいのだ。
国のために個や生活を犠牲にして働くのが美徳で命を落とす覚悟が礼賛されるべきもので、何より、「有事」「危機」こそが、国を成長させる、みたいな価値観?
いいのかそれが「これぞ日本の戦い方」で飲み込んで
っていう些か判断や解釈の分かれる思想的な話の他にも、単純にひとつの作品として、映画やプロットの作りとして、鼻につくポイントは少なくないと思う。
これは多くの人が指摘するように、「シン・ゴジラ」の欠点ないしは一部の人にとっては美点の一つは、
「たぶん(本来怪獣映画を喜びそうな)小中学生が見ても分からない」
ことであろう。
次々に入れ替わり立ち替わり出てくる人物、やたらと専門用語や政治用語を並べ、理解させる気あるのか?というくらい早口の会議、応酬、ゴジラを倒すというよりメインは政治劇
「会議が冗長でなくムダがない」「予告では、おっさん達がやたらと会議して退屈そうだと思ったがいざ観てみたら会議もっとってなった」という内容の感想をよく目にするが、
そうか?
前半部の会議会議会議は勿論、指示手続き実行までのリアリティを出すためとかこれだけのプロセスを踏むことの提示とか必要な部分もあるが、社会的風刺になっているシーンも幾つか存在している。主人公が指示を出すと、「それどこの部署に言ったの?」と返されるタテ割り行政とか、とりあえず識者を集める時間の無駄とか、直前までスーツだったのに記者会見を前にして、総理「防護服を持ってきて」というあざといわざとらしさとか、面白いものもあるけれど、風刺したいなら、別に、それだけで、つまり、そういう戯画化したシーンを見せれば十分ではないか。
が、本作では、<その上で>、また、「この国では~」とかいちいち誰かが台詞で言うのだ。これもしつこい。
いや、分かったよ、わかるよ。だって、それさっき見たって。
「難しくて分からないだろうな」とは言うが、わざわざ台詞で補足してくれているところも結構あって、中途半端に親切なのである。その半端な親切さが観客の理解を助けるという方向ではなく、「この国ではあの国ではうるせえ!!」って感じに作用している。自分は、筒井康隆なんかが好きなので社会風刺物はむしろ好物な方なのだが、こういう見せ方はぜんぜん、スマートではないように思う。
更に、後半の最終作戦までの会議やり取り部分は、もっと無駄なような気がする。
物語として分解したときに、小難しい専門用語でなんか凄いものを観た気にさせるないしは(本当はよく分からないが分からないというとバカだと思われるので)褒めておこう!という方向に感想を誘導させる効果しか持っていない。
というのは、2時間映画の構造基本には、
が組み込まれていることこそが、フィナーレのカタルシスを呼ぶ。
小・トラブルとは、物語の世界観を示したり、人物たちの関係性を深めるためにプロット上に用意される障害だが、「根本的に解決されねばならない」問題は別にある。物語として最後に乗り越えるための壁が大・トラブルである。まやかしの勝利、からの喪失とは、今まで向き合ってきた、そして倒して喜んでいた障害が単なる「小・トラブル」で、大・トラブルは別にあることに気付いてしまったり、大・トラブルを解決したないしはできそうだと一旦は歓喜するものの実は全然間違っていたり、
「シン・ゴジラ」の場合、自衛隊が次々に攻撃することが小・トラブル、そして米軍がやってきてダメージを与えられたように見えるのがまやかしの勝利のように見えるが、そうではない。っていうか見えるがって書いたが見えない。
だってあれ見て、誰も「米軍やってきたやったー勝てる」とは思わんだろう。
突き詰めると日本は最終的に日本が守らなきゃねって映画なんだしっていうのがなかったとしても、
根本的なプロット上の問題として、主人公矢口とそのチームが、比較的最初の方で、最終的解決方法にほとんど気が付いてしまっているのである。
ゴジラの動力源が核融合であること、そのために生まれる熱を放熱するために冷却が必要なこと、おそらく血液の循環が冷却として作用しているので、血液を固めてしまえば、ゴジラは活動を停止するのでは……
っていうのが主人公サイドから割と早めに示されてしまって当初は矢口プランとか呼ばれている以上、
「これが正解なのだな」
と思う。思ってしまう。
だから、どんなに自衛隊とか米軍とかミサイルとか出てこようが、それでやっつけられるわけはない。それだと主人公が出てきた意味がない。
これは我々に組み込まれてしまった、フィクション鑑賞時のルールである。
故に、制作者は、その予定調和的思い込みを覆さねばならない。むろん、米軍が出てきて解決しちゃいましたチャンチャンという方向でなく、だ。
というプロット構造に則って言えば、ゆえにこの、当初気付いた解決策は後半部で本来、「覆される」べきなのだ。主人公ないしは主人公サイドは、「解決策」を握り、幾つかの妨害や無理解そのほかに合いながらも、なんとか実行直前ないしは実行に漕ぎつける。やった!!というつかの間の悦びを得るが、そのうち、それが無意味・不正解、根本的解決ではないことを悟り、絶望に陥る。
で、
からの。この、「で、」からが、ラストに向けた助走なのである。
これが、例えば、当初は主人公たちは全然別の方法を思いついてしかし失敗、再度のなんとか成分がとか原子構造がとか動力源がとか分析のアイディアの出し合いにより、「血液固めればいいんじゃね」ということに気づく…とか、苦労してバトルして血液凝固剤注入したけど無駄でした⇒博士の残したデータの解析⇒凝固だけじゃ足りないのかもとか注入方法の工夫が足りないとか試行錯誤して最終決戦、
など少なくとも順番が入れ替わっていれば、
専門用語を並べ立てた応酬、会議会議、チーム内の協力…の配置が、物語に機能していると言えるし、純粋に映画としてのカタルシスと、内容を理解できる者にとっては、そうだったのか!と、謎解き的、知的カタルシスをも生む。
しかし最初に、後半の最終作戦までの部分は、もっと無駄、と書いたように、実際はそういう構造ではない。
主人公たちが序盤の方で気付いた最終解決策がほぼそのまま最終作戦なのだ。博士の残したデータの分析で抑制剤がプラスされはするが大方まあ正解なのだ。そしてちょっとやられたりはするが成功しちゃうのだ。
だったら後半部の、なんとか成分がとか原子構造がとかなんとか博士の分析が云々という難しげなやり取り、本当はいらないじゃん。だって序盤に示された正解が正解ということを補強しているだけである。
つまりほとんど、「米国が核爆弾落としちゃうかもヤバい!どうする!」という物語の都合上、(間に合わないかも!)という時間稼ぎに配置されているだけだが、そんなの、間に合うのは分かる。フィクション鑑賞時のルールとして。
ラストの作戦がショボい、という感想はちらほら見かけるが、本当は、作戦がショボいことがカタルシスを生んでいないのではない。ほぼ最初に示された正解通りのまま終わるから、あれ?となるんである。かつ、人物たちの早口の分析から判明していく真相に、なるほど、そういうことだったのか!という知的快楽も得られない。
以上の理由から、「難しいから子どもには面白くないかも~」と言っている人こそ、本当に理解しているのだろうか、煙に巻かれているだけじゃないの、という感じだが、
「小難しい」というだけで、煙に巻かれて何か凄いものを観た気になる一部の人間、ないしは、凄いものを観た、観客に媚びてない=芸術的=作品の価値が高い と「思いたがる」(言いたがる)(だってつまらないと言ったら理解できなかったと思われる、バカだと思われる)類いの鑑賞者にとっては、演出上の効果はあるのかもしれない。いや、あった。
けれど、
やれ家族の絆だ恋愛だお涙頂戴だ感動だの分かりやすい浅い作りにしなくても、クリエイターが作りたいものを大衆に媚びずに作っても、観客はちゃんと素晴らしいものを評価できることが~
みたいな、自分が一番「一般人」(こういう言い方をする映画マニア、てめえもただの一般人だろって感じだよなマジで)を馬鹿にしている上から目線の物言いで、無邪気にキャッキャッと、ハリウッドに勝ったとか邦画も捨てたもんじゃないとか喜んでいる場合だろうか。いまだに。
同時に、分かりやすいことは必ずしも、「浅い」ことを意味しない。
むしろ、近年、「マッド・マックス」とか、「ズートピア」のような、戯画化によって現在蔓延る社会問題の構造を鋭く炙った作品でありつつ、かつ、子どもでも純粋に楽しめるくらい映画として高いエンターテイメント性を持った作品が海外から出て話題を呼んだ中で、
まだ、大衆に媚びてないから一般人は難しくてついてけないだろうけど~チラッチラッ みたいなことを言ってはしゃいでいる段階って、それこそ完全に「敗北」だと思いますけどね。
「ファイルまたはアセンブリ 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。 」
http://stackoverflow.com/questions/4742894/mvc3-deployment-dependency-problems
IIS を実行させているサーバの GAC に Microsoft.Web.Infrastructure.dll のアセンブリキャッシュが存在しないようです。
プロジェクト参照設定にある Microsoft.Web.Infrastructure のプロパティを開いて「ローカルコピー」を True に設定して、発行(デプロイ)しましょう。
この記事の元増田にあたる「HPVワクチンの副反応に関する3/16の発表に関して」を投稿してから早3ヶ月が経過した(Oh...)。
この3ヶ月で、池田氏の症例報告(*1)はパブリッシュされ、村中璃子氏による池田氏の発表を対象とした一連の記事は完結を迎えた。
この追記記事では、池田氏の症例報告、一部ブコメへの返答、村中氏の記事に対する批評を主としておこなう。
なお、字数オーバーしてしまったため、前後編に分けて投稿する。
3/16時点ではIn pressであった氏らの症例報告について批判をおこなう。
Abe et al. (2016) Monoarthropathy or Polyarthritis in Adolescent Japanese Girls Who Received Immunization with the Human Papillomavirus Vaccine. Case Reports in Clinical Medicine, 5, 109-114.
http://www.scirp.org/journal/PaperInformation.aspx?PaperID=64855
この症例報告はHPVワクチン接種後に単関節炎または多関節炎を発症した2人の日本人少女についての報告である。
細かい内容は各自に読んでいただくとして、この報告の問題点を端的に表すのは以下の一文である。
4. Conclusion
日本語に訳せば「結論:HPVワクチンは、稀に関節病変を引き起こすかもしれない」といった感じか。
元増田でも指摘したが、疫学的に調査しなければワクチンと疾患の因果関係は明らかにできない。
それにもかかわらず、たった2人の症例報告でこのような結論に達するというのは、どう考えても言い過ぎである。
文章自体は弱い表現(may occasionally)を使っているが、疫学的にはHPVワクチンと各疾患の関連は概ね否定されているため、結果として強い表現になっており、極めて不適切な結論であると言わざるを得ない。
ROYGB http://www.kobe-np.co.jp/news/iryou/201510/0008513286.shtml のような重い症状の人が未接種者にもいるのかどうかが知りたいところ。
まず前提として、HPVワクチンの接種によって各疾患の発症リスクは上昇しないというエビデンスが存在する。
これは元増田で示しており、コメントを下さった方もそれは承知していると思われる。
したがって、上記のブクマコメントは「HPVワクチンの接種によって、自然に罹患した疾患が重症化するリスクが上昇するのではないか?」という意見だと受け取らせていただいた。
名古屋市の調査結果(*2)を見ていただくとわかるが、「物覚えが悪くなった」「普通に歩けなくなった」「杖や⾞いすが必要になった」等の症状の頻度は接種者と非接種者の間で差がなかった。
また、複合性局所疼痛症候群(CRPS)などの疾患においては記憶障害や運動障害が症状に含まれることが知られており (*3)、HPVワクチン接種者に特有の症状というのは今のところ見つかっていない。
よって、HPVワクチン接種による疾患の重症化リスクの上昇は恐らくないものと結論付けても良いだろう。
重症化リスクに着目した論文が見当たらなかったため少々歯切れは悪いが、これで疑問への回答となっただろうか?
もし納得いただけたなら幸いである。
子宮頸がんワクチンと遺伝子 池田班のミスリード ― 利用される日本の科学報道(前篇)
http://wedge.ismedia.jp/articles/-/6418
これらの記事は主に、HPVワクチン副反応とHLA型が関連しているという主張および池田氏の発言について批判している。
指摘の内容は基本的に私の書いたものとほぼ同じであり、これについては特に付け加えることもない。
ただ、私がスルーしてしまった点として、鹿児島大のデータで示されている有意差について実際に計算すると有意にならないということが示されている。
試してみると、確かにFisher’s Exactでもカイ二乗でもP<0.001にはならず、なぜ資料ではこんな値が出されていたのか、大いに疑問である。
実は有意水準ではなくP値の方を1/10してしまったなんてことは......まあ流石に無いだろう。
(後編へ続く)
*1 Abe, R. , Kinoshita, T. , Hineno, A. and Ikeda, S. (2016) Monoarthropathy or Polyarthritis in Adolescent Japanese Girls Who Received Immunization with the Human Papillomavirus Vaccine. Case Reports in Clinical Medicine, 5, 109-114.
http://www.city.nagoya.jp/kenkofukushi/cmsfiles/contents/0000073/73419/sokuhou.pdf
*3 Schwartzman, R. (2012) Systemic Complications of Complex Regional Pain Syndrome. Neuroscience & Medicine, 3, 225-242.