はてなキーワード: ワンライナーとは
なんかホッテントリ見たら
https://anond.hatelabo.jp/20180814140646
みたいなエントリがあがってたので。
いやさ、別にはてななんて所詮便所の落書き、何を期待してんの?って感じではあるんだけど、気になったのはスターの晒し上げ。ブコメはまだしもスターなんて何につけたか覚えちゃいない。こんなことでいちいちガタガタ言われて刺し殺されでもされたら大変だ。
ということで自分がつけたスター一括削除ワンライナーを書いてみました。http://s.hatena.ne.jp/ユーザー名/starsで見えてるブコメへのスターをすべて削除します。http://s.hatena.ne.jp/自分のユーザー名/stars にアクセスし、デベロッパーコンソールから実行します。星を複数回つけた場合は複数回実行してください。例によってこのコードを実行して何があってもわたしは責任取りません。増田だけどね。
と思ったら貼り付けられないのでpastebinに貼りました。
あんまやりすぎるとdosになっちゃうかもなので気をつけてください。
でもなんかもっとたくさんスターつけてた気がするんだけど、少ないような…?http://s.hatena.ne.jp/ユーザー名/stars って全部のスターが見えるわけじゃないんですか?教えて偉い人!
JavaScriptで、配列を各要素がユニークな新規オブジェクトになるよう初期化したい。
Rubyの
ary = Array.new(8) { Hash.new }
単純な実装としては
const ary = []; for(let i; i < 8; i++){ ary[i] = {}; }
みたいな感じだけれどもこれはなんとも微妙である。ワンライナーで書きたい。
ちょっとかっこつけると
const ary = Array.call(null, ...Array(8)).map(() => { return {}; } );
とか
const ary = [...Array(8)].map(() => new Object() );
とかできなくもないけど、これらもどうにも不格好である。
何かもっとシンプルでクレバーでスマートなやり方はないものであろうか。
const ary = Array(3).map(()=> new Object());
とかできたらよかったのだけれども、残念ながら空要素はスキップされるらしく、これでは空配列が返ってくるから
一旦展開させてundefinedで埋めた配列を生成してからmapしなければいけないらしい。最終的に得たい配列が1つなのに、その前に別の配列を2つも生成するのが気持ち悪い。
最近の若者はワンライナーなのか、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分を一回終わらせて入れ子にするか、falseならreturn させるといい。
入れ子になってもとにかく自分が分かるようにするといいです。
一行で書くのはそのあとではどうだろう
if(param == 0 &amp;&amp; test(param2)) { if(!param3) { something todo } } また if(!(param == 0 &amp;&amp; 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 ゲームをもったこども }
「書き方」のとらえ方によるとは思いますが、「同じレイヤーの言語」と言われる程度には似ていると思います。
ただ、JscriptとJavascriptは似てる?と問われると首を傾げるくらいには違うと思います。
defaultで強制させるべきかと...
いや、ちゃんとこれはテキトーでズボラで汚くても書ける利点があるんだよ!
TMTOWTDIってやつです。自らグルー言語を名乗り、-pスイッチとかワンライナーとかには邪魔でしかない。
キチッと書きたい奴はキチッと書きゃいいし、ダラッと書きたい奴はダラッと書けばいい。
ただし、個人ならな!
仕事ならまあ...
百万回繰り返された例の件について書いてみるよ。あ、タイトルは必要ないよね?このタグだけ見ればわかるものw
総評:とにかく微妙というか、中途半端につかいにくい。いまだにPerlが生きていたり、Rubyにキャッチアップされてるのも納得の出来。これがLL界を制覇したらPerlよりうっとうしい。
未だに泥がどうたらこうたら言ってるやつは
http://anond.hatelabo.jp/20080717201617
平日は他人の書いた仕様書通りに実装して、土日は参考書通りにデモ実装して喜んでる暇があったら、自分の頭で一からアイデア考えて、すべての工程を自分でやれ。
土日に他人のWEBAPI使ってちっさいコード書いて自己満足してる暇があったら、フルスクラッチで大きなアイデアを実現してみろ。
ライブラリが使えるだけなのにプログラミングが出来ますって言っちゃっていいのかな?なんて引け目感じてる暇があるなら、さっさと自分で新しいライブラリ書いてみろよ。
ワンライナーが、コンパイラ依存が、言語仕様が、とかム板やブログで無駄な煽りをやってる暇があったら、何か他人に役立つものを自力できちんと最後まで作れ。
RSSリーダーの更新ボタン連打してる暇があったら、まだやられていないアイデアを目を皿にして探せ。
梅田モチオさん最高っとか余裕こいてる暇があったら、自分で起業して玉砕してみろ。
お前らのモヤモヤした悩みはお前らの行動によってしか解決されないんだよ。
起きてる間ずっと自分の頭で考え、決定的なアイデアに集中し、わき目も振らずに最後まで実装できたやつだけが、
偉そうにふんぞり返ってるアホをぶちのめせるんだよ。
未だに泥がどうたらこうたら言ってるやつは
http://anond.hatelabo.jp/20080717201617
平日は他人の書いた仕様書通りに実装して、土日は参考書通りにデモ実装して喜んでる暇があったら、自分の頭で一からアイデア考えて、すべての工程を自分でやれ。
土日に他人のWEBAPI使ってちっさいコード書いて自己満足してる暇があったら、フルスクラッチで大きなアイデアを実現してみろ。
ライブラリが使えるだけなのにプログラミングが出来ますって言っちゃっていいのかな?なんて引け目感じてる暇があるなら、さっさと自分で新しいライブラリ書いてみろよ。
ワンライナーが、コンパイラ依存が、言語仕様が、とかム板やブログで無駄な煽りをやってる暇があったら、何か他人に役立つものを自力できちんと最後まで作れ。
RSSリーダーの更新ボタン連打してる暇があったら、まだやられていないアイデアを目を皿にして探せ。
梅田モチオさん最高っとか余裕こいてる暇があったら、自分で起業して玉砕してみろ。
お前らのモヤモヤした悩みはお前らの行動によってしか解決されないんだよ。
起きてる間ずっと自分の頭で考え、決定的なアイデアに集中し、わき目も振らずに最後まで実装できたやつだけが、
偉そうにふんぞり返ってるアホをぶちのめせるんだよ。
給料は最低限で十分. 特に大金が必要な趣味も持っていない. 大金を使って遊ぶくらいなら, 仕事に役立つような勉強を楽しんでやるのが好き. 数学とかプログラミングとかいろんな仕事術とか.
数学を勉強しておけば世界の見方が変わる. 目に見える色を表現するのに必要な情報量を考えるし, 新しいアイディアを考えるときに数学の概念をうまく利用したり, 問題の明確化や定義もうまくなる. 明確化できるということは, 話の流れも自然になって当たり前にプレゼンがうまくなる. 話が分かり易くなると, いろんなところから仕事がふってくるようになって, 断るのに必死だったりする.
プログラミングが自由自在に出来れば, 身の回りのあらゆるルーティンが自動化されるようになる. ちまちま手作業でインターネットブラウザからスケジュールやデータを post してる人を横目に, 携帯からメールからコマンドラインから自分のスケジュールを反自動的に投入していく. いつだって自分のスケジュールはぎっしりだ. データだって得意のワンライナーを駆使して, いつでも自由自在に加工分析できる. また, 新しい企画を速攻でプロトタイピングして動くものとして人に見せられるようになる. これいいねって言った次の日には, 何かが動いている. 最初は, アイディアが ある人に良いように使われるだけだが, ある日を境に立場が逆転する. 作れる人がチームの方向性を握るようになる. また, 開発者の苦しみが分かるようになるので, 人としてプログラマに仕事をお願いできるようになる. お願いしかしない人は, 自分で書かないから, プログラマの苦しみや悩みや, 本当の生産性が分からない. だから, 無責任に仕事をふるし, 無駄にお金を払ったりする. 自分の場合は, いつも適切に具体的に仕事をふれるし, モチベーションも同時にあげてるので, 必要最低限の出費で済む.(と思っている)
いろんなところから仕事術を勉強する. 本も読むし, 毎日コミュニケーションしている人たちのうまいやり方を常に観察して盗もうとする. いろんな人に会える機会を作って仕事のパスを増やしてみる.
あと, 英会話も大好きだ. 暇さえあれば, 英語で映画を見るし, 機会があれば積極的にネィティブスピーカーと話してみる. 趣味っぽい活動と言えば, あるスポーツを定期的にしてるけど, これはどちらかというと仕事に役立つ体力作りとしてやっている. 昔, 運動を完全にやめていたときに,何度か床に伏した経験があるからだ.
どんなやり方で給与を獲得するかを考えるなら, やりがいのあること, やりがいのある仕事の仕方を選ぶ. みんながやりたがらないことをやる. 誰よりもこだわりを持ってやる. ひょっとしたらまわりの人がたまたまやる気がないだけなのかもしれないが, そんなことどうでも良い. 自分にはまわりよりも仕事にこだわっているという自負があって, そうやって一生懸命仕事をするということが楽しくてしょうがない.
こういうボクを, 周りの人はワーカホリックと思っているかもしれない. ただそれは違う. ボクは楽しいからやっているだけなのだ. 楽しいことしかしたくないんだ. ただそれだけで今生きていけてるんだから, これ以上幸せなことはない.
LV0 スクリプト言語?どうせAUTOEXEC.BATとかだろ?どうでもいいよ…
LV1 Perlはあんまり堅苦しくないな。ってかこのor dieって何なの?
LV2 流行の言語は綺麗だな。Rubyってのはなんか日本人多くて結構いいかも。
LV4 PHPも気が利くわりにドジっ子でかわいいな。LispとかSchemeとかHaskellもいい・・・
LV5 Pythonってワンライナー書けないのにWeb2.0言語扱いされててうぜぇ。Python死ね!
LV7 やべぇPython最高!Pythonとエディタさえあれば生きていける!