エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
時間城年代記:Haskellの'$'みたいなのを作ってみる
関数型プログラミング言語Haskellは色々と面白い特徴があるのだが、その中でも関数適用で f1(f2(f3(arg)... 関数型プログラミング言語Haskellは色々と面白い特徴があるのだが、その中でも関数適用で f1(f2(f3(arg))) を f1 $ f2 $ f3 $ arg と書けてしまう'$'演算子が結構良い感じだ。 Pythonではあいにく'$'は演算子として認められていないので、他の演算子を選ぼうとしたのだが、実は候補は一つしかなかった。 それは'**'だ。 Pythonの微妙な仕様の一つに、演算子のオーバーロードは出来ても、演算子の演算順序を変えることは出来ないという法則がある。 そして調べたところ、同一の演算子で$演算子のように「右結合」の演算子は、Pythonでは'**'しかなかった。 これを調べる方法は簡単だ。 まず、前に書いたシンボルを応用して、演算子結合調査用のクラスを書く。 #sss.py class S: def __init__(self, s): self.s = s d
2012/05/16 リンク