あったら絶対便利なプログラミング機能
文字列から変数の中身を参照する
int v = 1;
print(variable(”v”));
→「1」が出力
文字列で関数を実行
variable(”print”)(”hoge”);
→「hoge」
文字列で値をセット
setVariable(”v”, 2);
print(v);
→「2」
変数の名前を文字列化するプロパティ
print(v.name);
→「v」
オブジェクトのプロパティを文字列で取れるメソッド
Dog d = new Dog();
d.prop(”age”) = 5;
print(d.prop(”age”));
→「5」
イコールの左辺を参照する特殊変数「left」(超便利)
v = left + 1;
print(v);
→「3」 まさにlispがその機能を持っているが
プログラムが複雑になりすぎるので
あまりはやらなかった 既存のプログラミング言語でだいたいあるのに
ちゃんと調べずにスレ立てちゃう>>1はゴミ int v = 1;
print(variable(”v”));
→「1」が出力
↑?
print(v);でいいじゃん?
めんどくさくなってるよw >>6
変数名は値に化けてしまうから
プログラムで加工することが出来ない
一方文字列はsplitや結合 replaceなどを行えるし
値に化けずに引数や戻り値としてほかの処理と連携できる
>>1 の技術は単体で効果を発揮するものではなく
全て何行も同じようかコードを書かなければならない
時に記述量を減らすことを想定している
例えば100個のオブジェクトがあって
100個のプロパティを持ったものを全部処理しなきゃならないような
時に使う >>8
構造化とかオブジェクト指向とか知らない原始時代の人? >>8
そういう時のために継承とかがあるんだろ
君は基本がわかってない気がする >>8
lispのset, setqがまさにその機能 VisualStudioにはT4 テキストテンプレートというのがあるぞ
用途予測ではコレだな >>1
Excelをやり込んでプログラムは最近始めたって感じだね 出来るだけL3データキャッシュに乗せたい命令が欲しいです。。。 >>13
テーブル名も列名もめちゃくちゃ長いし列数も多い
し列同士の名前も見分けがつかないくらい似てるような
DB扱ってるのに継承が何になる
俺が欲しいのは大量の名前を文字列として処理する
技術なんだよ
オブジェクト指向もevalもキャッシュも知ったことか
俺の仕事が終わってくれればなんでもいいんだよ! コンパイル方式でもデバッグ情報として変数名関数名は持ち得るから
そのメタ情報でアクセスする枠組みを用意すれば済むとして
メリットは? >>1
配列とか連想配列なんて知りませんでしたって
告白しろよ 記述法、流儀の違いであって、あれでできる、これでできるとかいう話ではないだろ。
>>1はこうしたいんだよ。
コンパイルすれば同じなんだから。 でも
「あったら絶対便利なのになぜないんだろう」から
「これに気がついたの世界で俺だけ?俺って天才?」と考えるより前に
「他の人は別の機能で解決してるんじゃないか?」と考えたほうが速く楽になることが多いよ 逆に辞書とか多次元配列とかオブジェクトない言語でプログラム書くときはこういうのしてたな
メモリのクリアとか諸々やたら面倒で今日の言語のありがたみを感じた とはいえ魔法があるわけではなく収容テーブルを持つしかなく
文字列をハッシュ関数でインデックス化して衝突時処理後のインデックスの場所に収容しているだけね もう言語を統一すべきだろう
ノイマン型のシステム使ってる限りは必ず似たロジックになるんだから各言語のいいとこ取りをすればいい 変数や定数やクラスをフォーカスしたら予め作っておいたコメントが読めるようにして欲しい
そこにその役割やどう使ってるかを書く >>28
酔っぱらいの戯言かよ
一部でも自分で仕様作ってみろよ やってることを説明してくれる
int n ; ←int型変数の宣言
みたいに
予約語の変数宣言だけなら別にこんなことしなくていいのはわかるけど構造体やらクラスやらポインタやら出てくると初学者には大変
クラス〇〇のメンバ関数△△の戻り値(アドレス)をポインタ変数Pに代入
って言葉で説明されるとわかりやすいし文法を知らない未習得の言語だとしてもすぐに理解できる その機能が必要になるレベルの人は
結局、intって何? 構造体って何?
って話しになって、解説しても理解してくれないことが多い
上級者でそのレベルのことが分からない人は
言語仕様を30分ぐらい読んでくれ
ということだからなあ >>34
大抵のものはライブラリにあるけど
数値計算向けではない言語ではないものもあるけど 5歳児にマイナス5歳肌のファンデーション塗ったら死んだ