はてなキーワード: 引数とは
Haskell を書いてるわけではないんだけど Haskell でメモ化したい関数ってどうするんだろう
という条件なので、キャッシュを取って、キャッシュになければ計算して返すクラスを作った
純粋関数型でこれをやろうとするとモナドになったりして面倒臭そう
しかしながら
と思ったのですがどうなんでしょう。
GetHoge(dbConnection, key), GetFuga(dbConnection, key, key2)
dbConnection引数を渡さずにその場でDB接続する版の関数 GetHoge(key), GetFuga(key, key2)
を作りたい
DataTable GetHoge(key) {
var c = CreateDbConnection);
return GetHoge(c, key);
}
DataTable GetFuga(key, key2) {
var c = CreateDbConnection);
}
これでは関数の数だけ同じものを作らねばならないので煩雑である。
ES2015であれば、
function OpenConnectionAndRun(runFunc, ...args) {
var c = CreateDbConnection);
return runFunc(c, ...args);
}
という関数を1つ用意すればそれで済む。
増田から低能先生を消したい場合はuBlockのマイフィルターに
という設定を書き加えれば大体望み通りの結果が得られるわけだが、このhas-text()は引数として正規表現をうけとることができるらしい。
低能先生より複雑な安倍botに対応するためにもきっちり低能先生にだけマッチする正規表現を考えてみたいところである。
低能先生の投稿を一通り見たところ「は」「が」を付けて主語として使う場合と、「の」や「に」を付けて主語述語を修飾する場合と、文末に1単語だけ置く場合があるようだ。場合によっては「w」や「w」が付与される。
1行目で「はがのにww」と続く場合を、2行目で行末に書かれた場合にマッチさせて消そうと思ったのだけど、2行目の行末の場合が機能してくれない。
uBlock Originの取説では正規表現の解説はAdBlock Plusのページに飛ばされ、AdBlock PlusからはMozillaにリンクが張られている。https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions おそらくuBlockの正規表現はMozillaのJavaScript準拠なのだろう。なのだろうけれどJavaScriptの改行にマッチしそうな特殊文字を一通り試したがどれも使えない。試しにuBlockのマニュアルページで
を設定してみたところ、ちゃんと「ed.」で終わる行だけ消してくれた。ということは日本語だから駄目なのだろうか?
JavaScriptに詳しい増田がいらっしゃったらアドバイスください。
・私について
・悩み事
私は人並みの速度で作業することが、困難ということを確信しつつある。
今まで、数年経てば慣れてできるようになると自分に言い聞かせてきた。
しかし、たとえば、テストデータを作るのに工数に対して約2倍かかってしまうのだ。
2.1をもとに画面遷移を網羅する引数、テーブルデータ、想定結果、画面表示項目の表示をテスト仕様書に記載する。
だが、「あのテストデータをどこと整合性合わせるんだっけ」「よくよく見たらテストパターンとして成立していなかった」という事象が発生する。
普通の人はうまくできているようなので、
私には普通の人に備わっているほどの記憶力が備わっていないのだと思う。
昔から不器用で、手を動かすアルバイトをしていたときに遅くて叱られていた覚えがある。
私は現代社会で働くことがやはりできないのかもしれない。
捕鯨ってインターネットではタブー視されているのかわからないけれど行きつけのクジラとフグを出す料理屋が反捕鯨運動のあおりを受けて潰れたので、捕鯨に関して考える材料になればと思い日記を書きます。
そもそも日本が何で捕鯨でこんなにたたかれているかというと第二次世界後国内の物資が足りず、油もとれる肉もとれるクジラをバカスカとっていたからで…そのあと戦勝国アメリカの言うことも聞いて漁獲引数や個体(親は捕ってはならない、とか)は守り続けていたということを念頭に置いておいてほしい。はてな文法とかわからんから読みにくくてごめん。
主なエビデンスは水産庁の出している調査捕鯨データです(http://www.jfa.maff.go.jp/j/whale/pdf/140513japanese.pdf)
調査捕鯨のデータ、全然とれとらんやんけ!!やはり調査捕鯨は無駄!!と憤る人、国もいますが、調査捕鯨によって得られたデータにより作成された論文を拒否する媒体もあるので興味を持った方は論文を探す前に水産庁をディグったほうが良いです
A.そもそも資源量に関して「クジラ」っって大きなくくりで話している時点でおっ、こいつは面倒くさい奴だ、と思うのですが…
だって「トキは絶滅に瀕している」とはいうけど「トリは絶滅に瀕している」って言わないじゃないですか。
それは置いておいてクジラの多くの種類は豊富であったり過去の乱獲から数を増やし続けています。
最近調査捕鯨で採集されているみんな大好きミンククジラなんかは常に高水準で資源は安定しているし、ザトウクジラなんか増えすぎて南極のミンククジラの生息域を脅かしていたりしています。
IWC(国際捕鯨委員会)の科学委員会は1992年に資源に安全な捕獲枠計算方式(RMP)を算出しているのだけれど、国際捕鯨委員会の会議では政治的理由がハバを聞かせていて、「絶対に捕鯨を阻止するべきである」という反対国の意見に押し切られて採択はされていないです。
A.なぜなら彼は特別な存在なら仕方がないですが、賢い云々で言うとクジラより脳が大きい動物もいます。
例えばイルカ、ネズミの一種(銀河ヒッチハイクガイドでは地球でが人間が3番目、イルカが2番目、ネズミが1番目に賢い生き物であるとされていたのですがあながち間違いではないのかも)。
また、マッコウクジラがハーレムを作るだとかの社会構成を作る点に関しても同様にクジラより複雑な社会構成の動物もいます。
その地域での「神」としての特別な生き物という観点で考えるならば(ゴールデンカムイを見ればわかる通り)、異なる文化が集えばすべての生き物が「神」になる可能性があります。
一番簡単なのが牛でしょうか。(どうでもいい余談ですけれど捕鯨船日新丸がハラル認証されたので日本に流通している鯨肉はイスラム圏の人間でも口にすることができます)
他に例を挙げるならば日本で神の使いとされている鹿は西欧ではスポーツハンティングとされ毎年ミリオン単位の鹿がスポーツとしての狩りで殺されています。
西欧の文化では鹿の狩猟は管理釣り場でニジマスを釣る感覚と何ら変わらないと考えられます。
(クジラは頭がよくて、歌を歌ってコミュニケーションして、親子で行動して、ハーレムを作って、絶滅に瀕していて…という複数のクジラの特徴をかけ合わせ、人々の頭の中で考えられている理想のクジラ象をスーパーホエールと呼びます。そんなクジラ、いません)
A.捕鯨は今の方法(簡単に言うと銛ミサイル)が即死率が高く効率が良いとみなされ採択をされています。
動物の命をいただく行為なのでもちろんもっとも苦しまずに屠殺する方法がとられていますし、改善もされています。
参考までにですが牛はノッキングガンで気絶させ、その間に血を抜いて絶命させます。人間が勝手に肉を食べているわけですから、エゴは介在しますよね。
A.商業捕鯨モラトリアムとは国際捕鯨取締条約によって商業捕鯨に猶予期間が設けられてたことを指します。
よく引き合いにされるのが1983年に発行されたこの附表第10項(e)で
この10の規定にかかわらず、あらゆる資源についての商業目的のための鯨の捕獲頭数は、1986年の鯨体処理場による捕鯨の解禁期及び1985年から1986年までの母船による捕鯨の解禁期において並びにそれ以降の解禁期において零とする。この(e) の規定は、最良の科学的助言に基づいて検討されるものとし、委員会は、遅くとも1990年までに、同規定の鯨資源に与える影響につき包括的評価を行うとともに(e)の規定の修正及び他の捕獲頭数の設定につき検討する。
と記されています。
この項の前半を読むと「商業目的の捕鯨数はゼロにする」と読み取れますが後半をでは「遅くとも1990年までにはクジラに対して資源評価を行って、捕獲頭数を検討する」と書かれています。
日本はこの後半の資源評価を行うために現在調査捕鯨を行っているわけです。調査捕鯨に関しては同条約8条で定められています。
1.この条約の規定にかかわらず、締約政府は、同政府が適当と認める数の制限及び他の条件に従って自国民のいずれかが科学的研究のために鯨を捕獲し、殺し、及び処理することを認可する特別許可書をこれに与えることができる。また、この条の規定による鯨の捕獲、殺害及び処理は、この条約の適用から除外する。各締約政府は、その与えたすべての前記の認可を直ちに委員会に報告しなければならない。各締約政府は、その与えた前記の特別許可書をいつでも取り消すことができる。
2.前記の特別許可書に基いて捕獲した鯨は、実行可能な限り加工し、また、取得金は、許可を与えた政府の発給した指令書に従って処分しなければならない。
3.各締約政府は、この条の第l項及び第4条に従って行われた研究調査の結果を含めて鯨及び捕鯨について同政府が入手しうる科学的資料を、委員会が指定する団体に、実行可能な限り、且つ、l年をこえない期間ごとに送付しなければならない。
4.母船及び鯨体処理場の作業に関連する生物学的資料の継続的な収集及び分析が捕鯨業の健全で建設的な運営に不可欠であることを認め、締約政府は、この資料を得るために実行可能なすべての措置を執るものとする。
未だに調査捕鯨なのはこのモラトリアムが続いているからですね。1990年にはちゃんと漁獲量が決まるはずだったのに。おかしいな。
言いたいことは言えたのですっきりしました。またなんかあったら追記します。
シーシェパードが妨害活動を行っている船が総何トンなのか調べましたが出てこず…単純に長さは50~60mくらいなんで総トン数200~400トンの船でしょうかね?
対する日新丸は全長約130m、総トン数8030トン。第〇勇新丸などの目視調査船は総トン数700トンです。
人間をこのような狂気の行動に駆り立てるクジラという動物、とんだカリスマ動物ですね。
Quick Tutorial for Pyramid は公式のチュートリアル
https://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/index.html
$ $VENV/bin/cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 1.9-branch
として、プロンプトの問いに答えるとサンプル的なアプリができる。
ghはgithubか。
引数で指定できるテンプレートは https://github.com/Pylons?q=pyramid-cookiecutter
sqlalchemyを使うものは分かるけど、zodbって何?
アプリは以下のようにして起動する。
$ env/bin/pserve development.ini --reload
このpserveというPythonモジュールでアプリ動かしたりする。
超単純なPyramidアプリを作って、WSGIのイメージをつかむ。
app.py を書き写して動かしたらHello Worldが動いた。
viewとURLの紐付けはconfig.add_routeしてconfig.add_viewする。add_viewしてからadd_routeしても大丈夫だった。
viewにはrequestが渡される。requestに色々入ってそう。
waitressは知らないけど、serveでHTTPサーバ作ってWSGIアプリを公開できるのかな?
print('Incoming request')
...instead of:
print 'Incoming request'
Inernal Server Errorになった。アプリのほうではValueErrorでresponseを返すようにと怒られていた。text/plainとか返すには何かしないとダメっぽい。
print(xyz)してみろ、ということかな。1と同じくInernal Server Errorになって、コンソールにはNameErrorが出た。
CGIかな?
Excelを持っているならはてブのJSONデータをそのまま取り込めるそうだからそのデータを使ってブクマが付いた時間のグラフが描けそう。
例えばこんな感じでJSONデータが取れる。 http://b.hatena.ne.jp/entry/jsonlite/https://anond.hatelabo.jp/20180315232737
Excel持ってないならスクリプトでCSVにしてしまえばいい。
rubyスクリプトだとこんな感じ。(Mechanize無し版に差し替え。なぜMechanizeを使っていたかと言うとはてブがUser-Agentが空だと値を返してくれないから。ちょっと長くなるが自前でUAを渡すようにした。)
#!/usr/bin/ruby
site = ARGV[0]
json_uri = URI.parse("http://b.hatena.ne.jp/entry/jsonlite/%s" % [site])
response = Net::HTTP.start(json_uri.host, json_uri.port) do |http|
http.get(json_uri.path, "User-Agent" => "Mozilla/5.0")
end
json_data = JSON.parse(response.body)
json_data['bookmarks'].each do |bookmark|
puts [bookmark['user'], bookmark['timestamp'], bookmark['comment'], bookmark['tags'].to_s].to_csv
end
引数に取得したいページのURLを入れる。hatebuapi-csv.rbという名前で保存したとしたらこんな感じで実行。
% hatebuapi-csv.rb https://anond.hatelabo.jp/20180315######## > 結果.csv
arr = [1,2,3] というコレクション(配列、リスト)があったとして
arr.plus(4)は[1,2,3,4]というコレクションを作って返す
arr.add(4)は元のオブジェクトを[1,2,3,4]にする
うん、まあよろしい
が、これがIDE上になると「要素をいっこ追加したいけど書き方なんだったかな」という意図でうろ覚えでplusメソッドを使ったりする(そして案の定増えない)
あと、ネット上でアフィなのかなんなのか知らないけどこの手の解説書いてる人は関数が実行された結果どうなるのかまで書いて欲しい
上の例だと「引数を追加する」としか書いてないようなのが多い(追加した結果どうなるんだろうって気にならないのだろうか)
どうせコピペなんだろうけども
引数がA,B,C,D,Eあるとして
A,Bだけ渡したら、内部でC,D,Eを自動的に解釈するメソッドが作りたかった
これ、例えば
func hogeAll(A a, B b, C c, D d, E e) {
}
func hoge(A a, B b) {
}
んだけど、ABCDE全てに対して有/無のメソッドを全て定義すると果てしなくなる
実際にこれはよくやられると思う
HikisuClass hikisu = HikisuClass.create(a,b) // これで内部で自動的にc,d,eを解釈する
でもメソッド一個のためにクラスを作るのってクソ面倒だなと思う
もう一個方法があるとしたら、Classに値を入力したあとメソッドを実行する方法だ
hoge.a = a
hoge.b = b
hoge.do()
hoge(a,b,null,null,null) みたいなことになりそう
ちなみに何でそういうことをしたいかと言えば、自然言語がそうなってるからだ
大抵の引数が省略されるし、省略されたりされなかったりする、非常に柔軟なんだ
もちろん受ける側の作り込みが大変になるが、ちゃんとリーダブルに作ろうとしたらそっちのほうが良いんじゃないかと思える
引数のoptional,requireを指定できればもっと良い
これってポリモーフィズムあたりの話か?
___
追記:
あ、DIコンテナみたいな話かな
でも結局煩雑だし使いたくない