「メソッド」を含む日記 RSS

はてなキーワード: メソッドとは

2017-10-13

anond:20171013044943

ruby

# 曜日定数定義
module YOUBI
    Sun = 0, Mon = 1, Tue = 2, Wed = 3, Thu = 4, Fri = 5, Sat = 6
end

# 指定年月日の曜日取得
# https://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week#Implementation-dependent_methods
def get_youbi(year, month, day)
    day += if month < 3 then year-=1;year+1 else year-2 end # <
    (23 * month / 9 + day + 4 + year / 4 - year / 100 + year / 400) % 7
end

# 13日の金曜日判定
def super_friday(year, month)
    get_youbi(year, month, 13) == YOUBI::Fri
end

# メイン関数
def main
    for year in 2000..2100
        msg = "#{year}年:"
        for month in 1..12
            if super_friday(year, month)
                msg += "#{month}月13日 "
            end
        end

        #print msg + "\n" # back-slash
        puts msg
    end
end

# 実行
main

出力

2000年10月13日 
2001年4月13日 7月13日 
2002年9月13日 12月13日 
2003年6月13日 
2004年2月13日 8月13日 
2005年5月13日 
2006年1月13日 10月13日 
2007年4月13日 7月13日 
2008年6月13日 
2009年2月13日 3月13日 11月13日 
2010年8月13日 
2011年5月13日 
2012年1月13日 4月13日 7月13日 
2013年9月13日 12月13日 
2014年6月13日 
2015年2月13日 3月13日 11月13日 
2016年5月13日 
2017年1月13日 10月13日 
2018年4月13日 7月13日 
2019年9月13日 12月13日 
2020年3月13日 11月13日 
2021年8月13日 
2022年5月13日 
2023年1月13日 10月13日 
2024年9月13日 12月13日 
2025年6月13日 
2026年2月13日 3月13日 11月13日 
2027年8月13日 
2028年10月13日 
2029年4月13日 7月13日 
2030年9月13日 12月13日 
2031年6月13日 
2032年2月13日 8月13日 
2033年5月13日 
2034年1月13日 10月13日 
2035年4月13日 7月13日 
2036年6月13日 
2037年2月13日 3月13日 11月13日 
2038年8月13日 
2039年5月13日 
2040年1月13日 4月13日 7月13日 
2041年9月13日 12月13日 
2042年6月13日 
2043年2月13日 3月13日 11月13日 
2044年5月13日 
2045年1月13日 10月13日 
2046年4月13日 7月13日 
2047年9月13日 12月13日 
2048年3月13日 11月13日 
2049年8月13日 
2050年5月13日 
2051年:1月13日 10月13日 
2052年:9月13日 12月13日 
2053年:6月13日 
2054年:2月13日 3月13日 11月13日 
2055年:8月13日 
2056年:10月13日 
2057年:4月13日 7月13日 
2058年9月13日 12月13日 
2059年:6月13日 
2060年:2月13日 8月13日 
2061年:5月13日 
2062年:1月13日 10月13日 
2063年:4月13日 7月13日 
2064年:6月13日 
2065年:2月13日 3月13日 11月13日 
2066年:8月13日 
2067年:5月13日 
2068年:1月13日 4月13日 7月13日 
2069年:9月13日 12月13日 
2070年:6月13日 
2071年:2月13日 3月13日 11月13日 
2072年:5月13日 
2073年:1月13日 10月13日 
2074年:4月13日 7月13日 
2075年:9月13日 12月13日 
2076年:3月13日 11月13日 
2077年8月13日 
2078年:5月13日 
2079年:1月13日 10月13日 
2080年:9月13日 12月13日 
2081年:6月13日 
2082年:2月13日 3月13日 11月13日 
2083年:8月13日 
2084年:10月13日 
2085年:4月13日 7月13日 
2086年:9月13日 12月13日 
2087年:6月13日 
2088年:2月13日 8月13日 
2089年:5月13日 
2090年:1月13日 10月13日 
2091年:4月13日 7月13日 
2092年:6月13日 
2093年:2月13日 3月13日 11月13日 
2094年:8月13日 
2095年:5月13日 
2096年:1月13日 4月13日 7月13日 
2097年:9月13日 12月13日 
2098年:6月13日 
2099年:2月13日 3月13日 11月13日 
2100年:8月13日 

28年周期なの?

wikiのSakamotoメソッドソースwiki記法不具合じゃないの?

と思いましたが、、。

 ↓

https://groups.google.com/forum/#!msg/comp.lang.c/GPA5wwrVnVw/hi2wB0TXGkAJ

 ↓

"-bed=pen+mad."[m] 文字列の添字なんだな・・。

2017-10-12

anond:20171012171137

「○○開発」とか「××手法」とかメソッド名前をつけて、バズらせて、本を書いたり講演をして儲けようみたいな動きだったら「ぜんぜん流行ってないねwww」っていうのは分かるけど、あれってそういうものだったの?

2017-10-10

Ruby界隈の人

動的vs静的型言語みたい話題炎上案件があると、クラスメソッド引数は全部覚えているから型チェックいらないとか、くだらないスペルミスなんて自分はしない、そんなのするのは頭悪いとか、そんな発言ポンポン飛びだして、スキル高い低い以前にまとまった量のコードを書いたことあるのか疑わしいレベルの人が高濃度で混じってる。

anond:20171010131649

いやー、クッソ長いSQL書いたりするのが日常なんでコマンドライン直叩きはキッツイんすわ。

ちゅーか、ビジネス仕様フレームワークなのにそんなにマイクロ編集志向でええの?

結局エンジニヤの腕でバグを少なくしてるだけでバグを取り除くプロセス自体効率化は全然洗練されてないように思うんやが。

ゼロから開発ならテスト駆動でええかもしらんが、既存プロジェクト修正とかならメソッドの動きをトレースでけへんと話にならんやん。

増田rails屋、ちょっと教えろ

ワイ将PHPおじさんやけど、そろそろまともにrails始めよう思ってん。

したっけIDEどうすりゃいいか迷ってん。

弊社netbeans使いやさかいに近い感覚rails弄れるIDEが欲しいねん。

netbeans+laravelの感覚rails弄れる組み合わせはなんか無いもんかのう? 教えたってや。

ちな、vimとか言うなや。メソッド使用状況とかメッチャ検索するよってに。

ちょい編集するならええんやが、ガチでは使わへん。

ほいだらよろしゅうな。

趣味のぷろぐらみんぐのテストがつらいのでやめた

昨日の夜とメソッド名すら違う(つまり動作すら違う)というような無秩序ぐだんぐだん状況では単に作業量が倍になるだけだった

やはり方眼プロジェクトペーパーにお絵かきくらいはしてから作るべきか

2017-10-09

#addと#plus

arr = [1,2,3] というコレクション配列リスト)があったとして

arr.plus(4)は[1,2,3,4]というコレクションを作って返す

arr.add(4)は元のオブジェクトを[1,2,3,4]にする

うん、まあよろしい

が、これがIDE上になると「要素をいっこ追加したいけど書き方なんだったかな」という意図うろ覚えでplusメソッドを使ったりする(そして案の定増えない)

レシーバを変更するかどうかのコメントとかついて欲しい


あと、ネット上でアフィなのかなんなのか知らないけどこの手の解説書いてる人は関数が実行された結果どうなるのかまで書いて欲しい

上の例だと「引数を追加する」としか書いてないようなのが多い(追加した結果どうなるんだろうって気にならないのだろうか)

どうせコピペなんだろうけども

2017-10-06

anond:20171006105621

あれは前の南部さんのとき報道やらがまるで日本の功績のように称えるのが批判された件があったからだろうけど

本当に何も見ずに何も考えずに同じメソッドを使ってるのは滑稽

あいつら1秒も考えてないと思う

2017-09-26

JobSchedulerとFirebase JobDispatcher(FJD)はどのくらい互換

ほとんど互換インターフェースではない

READMEには"It provides a JobScheduler-compatible API"と書いてあるわけですが、

"compatible API"なのはJobService#onStartJobメソッドとJobService#onStopJobメソッドだけです。

他にもジョブ構成したりスケジューラに登録したりという作業がありますが、その辺は"compatible API"ではありません。

インターバル実行の間隔

JobSchedulerのインターバル実行は最短15分間隔(Android7以降)です。

インターバル行間隔はJobInfo.Builder#setPeriodicメソッド指定するのですが、ここに15分未満の時間を渡すと、こっそり15分に補正されます

https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/app/job/JobInfo.java#419

例外も警告も出ません。

お得意のリファレンスに書いてない仕様です

JobSchedulerを使っていて最初にキレたのはここだったと思います

----

話が逸れました。

対するFJDインターバル実行は最短1分です。

これはFJD仕様で1分と決めているわけではなく、AlarmManagerの仕様に引っ張られて1分になっているようです。

JobSchedulerの動作に合わせればいいんじゃないかなと思うのですが。

Light Idle時の挙動

JobSchedulerはLight Idle時に実行されません。

FJDLight Idle時も実行されます

これはFJD仕様Light Idle時も実行すると決めているわけではなく、AlarmManagerの仕様に引っ張られてLight Idle時も実行されているようです。

(Android7以降で実行している場合は) JobSchedulerの動作に合わせればいいんじゃないかなと思うのですが。

まとめ

まりFJDを信用しない方がいいです。

Android4を切り捨てられるなら使うべきではありません。

APIの出来は(後発なだけあって)FJDの方が優れているので残念です。

2017-09-25

外国ではケンケン乗りをしないというのはガセビア?

触発: anond:20170925155940

この増田を読んでへーと思ってググっていたら、この乗り方は日本固有で外国ではやらない、みたいな記述が何件も見つかった。

そんなわけないだろう思ってさらググる英語でもケンケン乗りの仕方を書いているサイトが1つ見つかった。

How to Mount a Bicycle - wikiHow

http://www.wikihow.com/Mount-a-Bicycle

「サイド・マウントメソッド」という名称で、3つの方法のうち1番目に紹介されていた。子供がよくやる乗り方なのだとページの最後注釈がついていた。

1件見つかりはしたがside mount methodでググっても他のページは見当たらない。実際のところどうなのだろう。

バックカントリーを走るようなレース動画を見ると、障害物を越えた後にケンケン乗りで再び走りだす様子は映っていたので競技ではありふれたやり方なのだろう。

2017-09-24

anond:20170924130812

IntelliJデバッグ停止中にマウス乗っけるとメソッドチェーンのメソッド部分ごとに戻り値を表示してくれたりしなかったりするな

最初はなんて賢い子なんだと思ったけど意外とそこで詰まることがないのでいまいち使わない機能だった

めんどくさそうな処理は本能的にメソッドチェーンよけてバラして書いちゃうから

静的言語だと途中にローカル変数があってもなくてもあんま変わらんから

なんでもっと構成作家を育成しないの?

https://anond.hatelabo.jp/20170924023251

この評論は当たってると思う。

数あるイセス評論の中で画期的なのは原作者責任範囲アニメ製作スタッフ責任範囲を(ある程度の想像を混ぜつつも)切り分けてみせているところ。

11話まできてのイセマスのダメさの要因にはもちろん原作のなろう的な「臭み」「ガバみ」はあるけれども

アニメスタッフ構成の力量もまた相当低いというのは確かだ。


イセマスは実は作画頑張ってるカットもあって

爆発の中を馬車で走るカットとかは作画アニメレベルだった。

11話のダベりだって内容が脳死レベルの割りには作画は頑張ってる。


作画破綻すると「崩壊」とか「ヤシガニ」とかいってすぐ吊るされる割りに

脚本破綻しててもあまり何もいわれないし

構成破綻してるのはもっと批判されにくい。

でもアニメが1クール作品としてどれぐらいのレベルになるかの要因を握るのはこの逆の順番だ。

構成が最重要で、次に脚本で、その後が演出作画ではないか


演出作画がどれほど能力あって意欲に燃えててもその上がクソならクソアニメ確定。

逆に構成脚本がちゃんとしてれば作画がポツポツ事故っていても根幹は揺るがない。

であれば、一番力を入れて育成メソッドを開発すべきは構成なのに

いまだにそのあたりの人材の育成は意識されていない。

単に筆のはやい人とか、テレビからつれてこられた人とか、作家とも言えないような人が大物風になっていく。


何故アニメ問題を語る時みんな作画の話ばかりして

上流工程スタッフの質について何も言わないのだろうか?

クールジャパン云々でも構成の話にはならない。

メソッドチェーンがクソなところ

メソッドチェーン皆良いって言うけど

BreakPointはれなくない?

一個一個処理の結果を見ていけないからすげーデバッグしづらい

それとも俺が知らないだけ?

 

デバッグやすくなったら許す

2017-09-23

はてブ有名人やりがちな意味のないブコメブクマページを支配する奴

https://anond.hatelabo.jp/20170923102158

よっぴーとかカワンゴとかがよくやるメソッドで中身のないブコメでも信者スター大量につけて最上ブコメ降臨できてブクマページで勝った感出すやつな

はてブというサービス自体レスバトル必勝法最後に言ったもの勝ちメソッド」の魅力によって成り立ってるみたいなものだけど信者持ちが悪用するなんて最も品位のない行為やぞ

2017-09-14

https://anond.hatelabo.jp/20170914153730

モンキーマインドとかマインドフルネスとかね

そういうのは仏教から賢くおいしいとこだけかじりとったつもりで重要エッセンスをこぼしまくってるメソッド用語から

やっぱりちゃんと仏教をやり瞑想をした方がいいですよ

引数が可変のメソッドを作りたい

引数が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) {

 ここでhogeAllを呼べば解決する

}

 

んだけど、ABCDE全てに対して有/無のメソッドを全て定義すると果てしなくなる

これをスッキリ書ける言語ってのを知らない

 

方法があるとしたら引数Classを作ってしまう手がある

実際にこれはよくやられると思う

 

HikisuClass hikisu = HikisuClass.create(a,b)  // これで内部で自動的にc,d,eを解釈する

 

でもメソッド一個のためにクラスを作るのってクソ面倒だなと思う

もう一個方法があるとしたら、Classに値を入力したあとメソッドを実行する方法

 

Hoge hoge = new Hoge()

hoge.a = a

hoge.b = b

hoge.do()

 

しかしこれも長くなり煩雑だ、結局

hoge(a,b,null,null,null) みたいなことになりそう

 

ちなみに何でそういうことをしたいかと言えば、自然言語がそうなってるから

大抵の引数が省略されるし、省略されたりされなかったりする、非常に柔軟なんだ

もちろん受ける側の作り込みが大変になるが、ちゃんとリーダブルに作ろうとしたらそっちのほうが良いんじゃないかと思える

引数のoptional,require指定できればもっと良い

例えばコンソールで使うオプションとかって自由だよなあ

 

これってポリモーフィズムあたりの話か?

 

___

 

追記:

あ、DIコンテナみたいな話かな

でも結局煩雑だし使いたくない

2017-09-11

anond:20170911163849

xervra師いわく、

運動瞑想睡眠野菜摂取の徹底」が全ての人を救う訳ではありません。

宗教ではないのでそんな事は謳えませんから、救われる可能性の高いメソッドとして提案しているだけで保証などできません。

しっかり瞑想ができる人なら寝たきりになっても救われるかもしれませんがそれも保証できません。

心が弱って宗教選択するのも自由です。でも、それで救われる事が保証されるかと言えばそんな事も無いし、そもそも奇跡も期待できません。

一つ分かっている真実があります。「運動瞑想睡眠野菜摂取の徹底」は心を守ってくれる効果実証されています

この真実活用するかどうかは自身判断でやればいいと思います

もしやらない人が居るなら馬鹿基地外なのでしょう。

合理性のない思考は全く理解できません。

https://anond.hatelabo.jp/20170910205249

まじな話をすると、N予備校プログラミング入門コースやるのがオススメ

https://www.nnn.ed.nico

一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。

月額1000円だけどしっかり勉強すれば一ヶ月の無料間中に終わると思う。

もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラム講師曰く去年はこれで二人エンジニア就職を決めたらしい。

内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職必要な環境構築やセキュリティまでみっちりやる。

http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%BC%E3%82%B9%E3%81%A8%E5%86%85%E5%AE%B9

講師が書いてる入門コースで習うことがまとめ。テキスト教材もあるけど授業も1項目を2時間で説明している。授業は週2の生放送とそのアーカイブがある。

↓みたいなことが学べる

----

Webプログラミング入門コース

Web ブラウザとは (Chrome, デベロッパーコンソール, alert)

はじめてのHTML (VSCode, HTML, Emmet)

さまざまなHTMLタグ (h, p, a, img, ul, tableタグ)

HTMLで作る自己紹介ページ (HTMLタグ組み合わせ, コンテンツ埋め込み)

はじめてのJavaScript (JS, ES6, エラー)

JavaScriptでの計算 (値, 算術演算子, 変数, 代入)

JavaScript論理を扱う (論理値, 論理積, 論理和, 否定, 比較演算子, if)

JavaScriptループ (ループ, for)

JavaScriptコレクション (コレクション, 配列, 添字, undefined)

JavaScript関数 (関数, 関数宣言, 引数, 戻り値, 関数呼び出し, 再帰)

JavaScriptオブジェクト (オブジェクト, モデリング, プロパティ, 要件定義)

はじめてのCSS (CSS, セレクタ, background-color, border)

CSSを使ったプログラミング (transform, id, class)

Webページの企画とデザイン (企画, 要件定義, モックアップ, 16進数カラーコード)

診断機能の開発 (const, let, JSDoc, インタフェース, 正規表現, テストコード)

診断機能組込み (div, 無名関数, アロー関数, ガード句, truthy, falsy)

ツイート機能の開発 (リバースエンジニアリング, URI, URL, URIエンコード)

Linux開発環境構築コース

LinuxというOS (VirtualBox, Vagrant, Ubuntuインストール, OS, CUIの大切さ)

コンピューター構成要素 (ノイマンコンピューター, プロセス, lshw, man, ps, dfの使い方)

ファイル操作 (pwd, ls, cd, mkdir, rm, cp, mv, find, ホストマシンとの共有ディレクトリ)

標準出力 (標準入力標準出力標準エラー出力パイプgrep)

vi (vimtutor)

シェルプログラミング (シバン, echo, read, 変数, if)

通信ネットワーク (パケット, tcpdump, IPアドレス, TCP, ルーター, ping)

サーバークライアント (tmux, nc, telnet)

HTTP通信 (http, https, DNS, hostsファイル, ポートフォワーディング)

通信をするボットの開発 (cron, ログ収集)

GitHubウェブサイトの公開 (GitHub, リポジトリ, fork, commit, 情報モラル)

イシュー管理とWikiによるドキュメント作成 (Issues, Wiki)

GitとGitHub連携 (git, ssh, clone, pull)

GitHubへのpush (init, add, status, インデックス, commit, push, tag)

Gitのブランチ (branch, checkout, merge, gh-pages)

ソーシャルコーディング (コンフリクト、プルリクエスト)

Webアプリ基礎コース

Node.js (Node.js, nodebrew, Linux, REPL, コマンドライン引数, プルリク課題)

集計処理を行うプログラム (集計, 人口動態CSV, Stream, for-of, 連想配列Map, map関数)

アルゴリズムの改善 (アルゴリズム, フィボナッチ数列, 再帰, time, プロファイル, nodegrind, O記法, メモ化)

ライブラリ (ライブラリ, パッケージマネージャー, npm)

Slackボット開発 (slack, mention, bot)

HubotとSlackアダプタ (hubot, yo)

モジュール化された処理 CRUD, オブジェクトライフサイクル, filter)

ボットインタフェースとの連携 (モジュールのつなぎ込み, trim, join)

同期I/Oと非同期I/O (同期I/O, 非同期I/O, ブロッキング)

例外処理 (try, catch, finally, throw)

HTTPサーバー (Web, TCPとUDP, Webサーバーの仕組み, Node.jsイベントループ, リスナー)

ログ (ログ, ログレベル)

HTTPのメソッド (メソッド, GET, POST, PUT, DELETE, CRUDとの対応)

HTMLフォーム (フォームの仕組み, form, input)

テンプレートエンジン (テンプレートエンジン, jade)

HerokuWebサービスを公開 (Webサービスの公開, heroku, dyno, toolbelt, login, create, logs)

認証利用者を制限する (認証, Basic認証, Authorizationヘッダ, ステータスコード)

Cookie を使った秘密匿名掲示板 (Cookie, Set-Cookie, expire)

UI、URI、モジュール設計 (モジュール設計, フォームメソッド制限, リダイレクト, 302)

フォームによる投稿機能の実装 (モジュール性, textarea, 303)

認証された投稿の一覧表示機能 (パスワードの平文管理の問題, 404, テンプレートのeach-in)

データベースへの保存機能の実装 (データベース, PostgreSQL, 主キー)

トラッキングCookieの実装 (トラッキング Cookie, IDの偽装, Cookie の削除)

削除機能の実装 (データベースを利用した削除処理, 認可, サーバーサイドでの認可)

管理者機能の実装 (Web サービス管理責任, 管理者機能の重要性)

デザインの改善 (Bootstrap, レスポンシブデザイン, セキュリティの問題があるサイトを公開しない)

脆弱性 (脆弱性, 脆弱性で生まれる損失, 個人情報保護法, OS コマンド・インジェクション)

XSS脆弱性対策 (XSS, 適切なエスケープ処理, リグレッション)

パスワード脆弱性対策(ハッシュ関数, メッセージダイジェスト, 不正アクセス禁止法, パスワードジェネレーター, 辞書攻撃)

セッション固定化攻撃脆弱性対策 (セッション, セッション固定化攻撃, ハッシュ値による正当性チェック)

より強固なセッション管理 (推測しづらいセッション識別子, 秘密鍵)

CSRF脆弱性対策 (CSRF, ワンタイムトークン)

安全なHerokuへの公開 (脆弱性に対する考え方, HTTPの廃止)

Webアプリ応用コース

Webフレームワーク (Express.js, フレームワーク導入, 簡単なAPI, セキュリティアップデート, Cookie パーサー, ミドルウェア, 外部認証, ロガー)

ExpressのAPI (app, Properties, Request, Response, Router)

GitHubを使った外部認証 (Passport, OAuth)

スティングフレームワーク (Mocha, レッド, グリーン, リファクタリング)

継続的インテグレーション (CircleCI)

クライアントフレームワーク (Webpack, Chrome 以外のブラウザでもES6)

DOM操作フレームワーク (jQuery, jQueryアニメーション, this)

AJAX (jQuery.ajax, クロスドメイン, 同一生成元ポリシー, x-requested-by, CORS)

WebSocket (WebSocket, WebSocketの状態遷移, Socket.io)

RDBとSQL (DDL, DCL, CREATE, DROP, INSERT, DELETE, UPDATE, WHERE)

データモデリング (リレーショナルモデル, 正規化)

テーブルの結合 (外部結合, 内部結合, 片側外部結合, JOIN ON)

インデックス (インデックス, 複合インデックス, Bツリー)

集計とソート (SUM, COUNT, ORDER BY, GROUP BY)

「予定調整くん」の設計 (要件定義、用語集、データモデル、URL設計モジュール設計、MVC)

認証とRouterモジュールの実装 (Mocha, supertest, passport-stub, モックテスト)

予定とユーザーの保存 (セキュリティ要件, UUID, 複合主キー)

予定とユーザーの一覧の表示 (非同期処理, Promise, then)

出欠とコメントの表示 (入れ子の連想配列, Promise.all, 子どもからデータを消す)

出欠とコメント更新 (Promiseチェイン, リファクタリング)

予定の編集と削除 (要件の衝突, 関数再利用)

デザインの改善 (this, グローバルオブジェクト)

セキュリティ対策と公開 (X-Frame-Options, Heroku環境変数)

2017-09-10

日本人漫画のキメ顔をセルフイメージとして持っているように、

アメリカ人ベン・アフレックアヘ顔を表情豊かな自然表現だと信じているだけなんだよな。

とか深夜映画見てて思った。

 

メソッド演技」ねえ……

あんニュアンスの顔リアルでする白人、実際見たことないけど、何を持って「リアル」とか言ってんだろうねデーブは。

2017-09-06

メソッドチェインとか

Rubyもっとマイナーだった7年くらい前にどや!ってメソッドチェインでコード書いて公開したら読みづらいって言われまくった記憶がある。っていうか俺もメソッドチェインっていう言葉概念も知らなかったし、周りにもメソッドチェインっていう言葉も書き方も浸透してなかった。とにかく俺は関数繋げて1行で欲しい値を取り出す方法の方がカッコいいと思っていた

当時はgithubを俺は知らなくて(いま調べたらgithub設立2008年から自分が知らなくてもしょうがないな)google docsに載せて公開してた

たぶんrailsっぽいメソッドチェインの1行関数で返り値を次の1行関数に渡すような書き方が今後増えていくと思うけどどうなんだろう

あとやっぱりオブジェクト指向って微妙な感じがある。データの持ち方をその都度クラスにはめ込んでインスタンスにするって方法がなんか気持ち悪い。関数だけでいいじゃんってなる。コード書く時にわざわざクラスを作りだしてそれに関数を押し込めなきゃいけないのがなんか気持ち悪い(コード書いてる時に最初に思いつくのはクラスでもオブジェクトじゃなくて関数だ。車を欲しいから車を発明するじゃなくて移動手段が欲しくて結果として車が発明されるのだ)

犬っていうクラスが無くても、鳴くっていうメソッド存在させておきたい。後から大きな声で鳴くにして、最後あたりで犬が鳴くとか猫が鳴く、みたいなコードの書き方ができなくてクラス最初に作らせるのが思考に縄をかけられる感じがしてキモい

人間思考抽象から具象に下ろすことだって多々あるのに、オブジェクト指向もといオブジェクト思考は具象から抽象に上げなきゃいけないか

例えば俺の妄想はこんな感じ

get_text.from("anond.hatelabo.jp").all_page.tag("title").to_a

2017年現在なら、これも通じる感じある

で、これで使われてる自作メソッドクラスに押し込めようとすると急激にダルくなる

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん