X



【モダン推奨】Perlについての質問箱 50箱目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん垢版2012/01/21(土) 10:56:39.03
CGI についての質問は板違いです。WEB プログラミング板でどうぞ。
CGI と Perl の区別がつかない人も WEB プログラミング板に行ってください。
(WEB プログラミング板: http://hibari.2ch.net/php/ )

回答する際はモダンな方法でお願いします
(例 jcode.plではなくEncodeモジュールを使った方法)
理由はもう2012年です。いい加減2000年以前の方法はやめましょう。
最新のPerlを使うほうがかっこいいです。
いつまで勉強しないつもりですか?
過去にとらわれるのはもうやめです。進歩しませんよ。

このスレでは(CGI 以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。

"The duct tape of the Internet" こと、Perl についての質問箱です。
"There's more than one way to do it" ということで、
Perl の奥深さについて皆で語り合い、追求してまいりましょう。

http://www.perl.org/get.html
● 2011/10/30 現在の最新版: 5.14.2

▼ 前スレ
Perlについての質問箱 49箱目
http://toro.2ch.net/test/read.cgi/tech/1319953460/
リンク集は >>2-3辺り
Perl 日本語処理の基礎の基礎 >>4辺り


0530デフォルトの名無しさん垢版2017/04/14(金) 22:32:15.06ID:zXRfLbO9
バイナリエディタとか無いから詳しくは判らないけど、
pptファイルを開こうとしても怒られる
0533デフォルトの名無しさん垢版2017/04/15(土) 15:50:50.88ID:40tq7pz4
exe単体のもあるしそれさえアウトでも家の環境で再現させられるだろ
つか業務関連なら会社で聞けば
0534デフォルトの名無しさん垢版2017/04/15(土) 16:02:38.46ID:4y1tBhnC
知らないなら黙ってればいいのに

何かバイナリを標準出力に吐くコマンドなら何でも試せる筈
なかなかそういうサンプルが無いけど
0536デフォルトの名無しさん垢版2017/04/15(土) 20:14:19.75ID:4y1tBhnC
これだけの情報で判らないならコード見ても判らないよ

binmode STDIN;
$result = `SomeCom.exe`;
open $out, '>', 'outfile.bin';
binmode $out;
print $result;

これだとNGで、
C:> SomeCom.exe > outfile.bin
これならOKになる
0540デフォルトの名無しさん垢版2017/04/16(日) 00:22:01.12ID:h3ZKvGOL
open $in, '-|', 'SomeCom.exe';
binmode $in;
$result = <$in>;

こんな感じか
` ` を使う限り解決できない?
0542デフォルトの名無しさん垢版2017/04/17(月) 21:59:30.64ID:MMDneckh
>>539が正解でした
ちなみに、結果を変数に受ける必要はなくて、
入力から出力にそのまま流す方がスマート
0543デフォルトの名無しさん垢版2017/04/23(日) 22:19:57.91ID:RpWO8O1f
答えを知ってる人はシンプルにいきなり正解のみを示すんだよな

で、必要な知識のない人が見当違いのことをいろいろ書いて掻き回す
0544デフォルトの名無しさん垢版2018/02/16(金) 06:37:50.13ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0545デフォルトの名無しさん垢版2018/02/16(金) 20:54:02.63ID:YSXjevvC
あれ?そういやこのスレは消化されないまま残ってたの?ちょっと前に63箱目が1000になったんだけど。
じゃあ新スレ立てずにそのままここ使う?
0546デフォルトの名無しさん垢版2018/02/17(土) 13:11:36.41ID:m8W4h2UJ
>>545 ここで良いんじゃない?

Windows7 で ActivePerl 5.16.3 を使っているんだけど、改行が CR LF (0D 0A) のファイルを
<> で読み込むと、行末が LF (0A) だけになる。これはなぜに?
0549デフォルトの名無しさん垢版2018/02/19(月) 12:04:01.90ID:9O6KBvIf
63箱目のテンプレこぴっとく

CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板: http://kohada.2ch.net/php/

このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
荒らしはスルー推奨。

"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、
Perlの奥深さについて皆で語り合い、追求してまいりましょう。

www.perl.org/get.html
Download Latest Stable Source (5.18.2)

▼前スレ
0551デフォルトの名無しさん垢版2018/02/20(火) 09:05:34.87ID:67uqfrCT
これが次スレになったのね。
おいらもそうだが、
最近、スレが立てられなくなった人が多いのかな?
0552デフォルトの名無しさん垢版2018/02/20(火) 10:46:08.66ID:vE/Q7KOY
>>550
もしやあなたはCGIとPerlの区別がつかない人?
0553デフォルトの名無しさん垢版2018/03/03(土) 15:00:12.27ID:y3R+TCM+
websocketをやってみたいんですが、Net::WebSocketというのとProtocol::WebSocketというのが検索で掛かります。
どっちを使うのでしょうか
0554デフォルトの名無しさん垢版2018/03/03(土) 15:02:25.59ID:y3R+TCM+
サーバにしたいです
0556デフォルトの名無しさん垢版2018/03/05(月) 16:53:07.80ID:vyqV3ojD
>>555
フレームワークは勉強の為に避けようと思います。
0557デフォルトの名無しさん垢版2018/03/05(月) 18:51:20.07ID:p13q4iUt
正直websocketやるのにPeal選ぶ意味は無い気がする
やりたいってんなら止めないけど
node.jsとかgoでいいような
適材適所というか
0558デフォルトの名無しさん垢版2018/03/06(火) 11:48:05.65ID:tpILJMN5
汎用的なものが作れないかと思っています。
スピードを求めるならjavaで作ろうと思います。
0560デフォルトの名無しさん垢版2018/03/18(日) 10:31:45.09ID:cNEg10A5
perlでサーバーAで計算した値をサーバーBに送り表示することってできますか?
できるならどうやるんですか?
できればモジュールなくても使える方法がいいです。
0561デフォルトの名無しさん垢版2018/03/18(日) 11:47:09.15ID:JGqM6rnc
サーバーAで計算した値をサーバーBに送るとはどういうことか、何に表示したいのか
perlの前にここを明らかにした方がいい
0562デフォルトの名無しさん垢版2018/03/18(日) 12:33:37.42ID:cNEg10A5
>>561
もっとわかりやすいように質問変更する
サーバーAでログインIDとパスワード入力して
サーバーBに置いてあるユーザー情報と比較してログイン成功なら
サーバーAにログイン成功だと言う情報を送りたい
こういうこと
0563デフォルトの名無しさん垢版2018/03/18(日) 13:33:56.77ID:JGqM6rnc
use HTTP::Tiny; # v5.14から標準モジュール

my $response = HTTP::Tiny->new->post_form('サーバーBのURL', {id => $id, password => $password});

if ($response->{success}) {
  print '成功';
}
else {
  print '失敗';
}

----------
AからBに問い合わせてその結果をAで使うならこんな感じで行けるんじゃない
0567デフォルトの名無しさん垢版2018/03/30(金) 12:35:13.04ID:5tmqHLck
Perlのソケット通信にて、とあるAPIへのリクエストに対して送られてきた全応答を全て取得した上で処理をしたいと思っています。

たとえば簡単な例だと
応答データ例:(00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10);
データは00〜FF全てを含み、終了は6連続"00 00 00 00 00 00"になった場合となります。
==
my $data = <$socket>; # data => 00 01 02 03 04 05 06 07 08 09 0a
my $data2 = <$socket>; # pending....
==
$/ = \x5;
my $data = <$socket>; # data => 00 01 02 03 04 05
my $data2 = <$socket>; # pending....
==
のように、$/に当たるデータで停止してしまいます。$data2は待てど暮らせど進みません。
また6バイトで1組なので、sysread($socket,$buf,6)や$socket->recv($buf,6,0)、recv($socket,$buf,6,0)
といった方法もしてみましたが、これら全てpending...状態で1こちらも待てど暮らせど進みませんでした。
一括で取得する方法はありませんでしょうか。
0568デフォルトの名無しさん垢版2018/03/30(金) 12:48:02.51ID:TlFsJGTt
>>567
ノンブロッキングのソケットってできなかったっけ?
fcntl()で指定するんだったような気がするが。
まあでもこの辺はOSによって微妙に違うかも知れないのでよく調べてみて。

で、ブロックしないようにしておいて受信したやつをとにかく全部読んで最後に \0 が6つあるかどうか見ると。
0569デフォルトの名無しさん垢版2018/03/30(金) 13:25:36.98ID:5tmqHLck
>>568
ありがとう
試してみた感じとまらなくなりました。
助かりました。
0570デフォルトの名無しさん垢版2018/03/30(金) 20:15:44.88ID:1Iia3Fde
while(1) {
  PROC1;
  if (COND) {
    last;
  }
  PROC2;
}

こんなような処理を、while(1)とかlastとか使わずにスマートに書けない?
0571デフォルトの名無しさん垢版2018/03/30(金) 20:22:24.29ID:x2Z4e+RC
>>570
PROC1はCONDの値を返さないってこと?
0573デフォルトの名無しさん垢版2018/03/30(金) 20:55:20.44ID:dOU2138G
>>569
non-blocking にするとデータが何もきてない時にほとんど素通りするので
selectとか使って自分で待たせることを忘れずに。そうしないと入力待ち
ループが物凄く早く回ってしまい無駄にCPUタイムを食うことになる。
0574デフォルトの名無しさん垢版2018/04/14(土) 09:32:20.00ID:3ZAO+EKI
x が100000〜100500 なら y=1000
100501〜100700 なら y=1001
100701〜120000 なら y=1002

みたいな感じになってるとする
xはある範囲を全部埋めていて、yはある範囲で連続

で、xが与えられた時にyを求めたい
どんなデータ構造にするのが一番効率的だろう
0575デフォルトの名無しさん垢版2018/04/14(土) 14:29:40.83ID:lJIoGN24
Perl関係無いような…
俺だったらxのfrom値をキーにハッシュ作って値にy入れるかなぁ
0576デフォルトの名無しさん垢版2018/04/16(月) 09:41:27.92ID:h6scVdPk
>>574
単純な計算ではxからyは求められないようだね。だったら配列にxの下限とyの値のペアを入れといて比較かな。
こんなやつね。どう比較するかは分かると思うので省略。

my @a = (
[100000, 1000],
[100501, 1001],
[100701, 1002],
.
.
.
);

ハッシュ使うとxの値を比較する時に全てのキーを引き出してソートしてから行う必要があって、それだと余計に遅くなると思う。

しかし全てを配列に入れておいて頭から全て比較することが現実的とは思えないほど多い場合(何万件もあるとか)は、もうPerlでやるのは止めてRDBに繋いでやった方が良いかも知れない。
(xの上限、下限、yの値をただ入れる表を作ってxの方はインデックス作っておいて簡単なselectをする)。
そうすると何も考える必要がなくなって楽だ。DBはsqliteが軽くていいぞ。その場合DBIモジュールとDBD::SQLiteモジュールが必要。
0578デフォルトの名無しさん垢版2018/04/16(月) 19:16:06.77ID:jtdCSi5V
yを0から999までに単純化して、
下限だけ入れた配列を毎回0から見つかるまで舐める

という実装にしたら、余裕で一瞬で終わるので、これで十分だった

個人でDBが要るようなケースって、まず無い気がする
0579デフォルトの名無しさん垢版2018/04/16(月) 19:54:02.09ID:Njbya+hs
>>578
ちなみに、DBを使ったことある?

個人的には、個人用途でもあれば便利。
保存関連がかなり楽になる。
0580デフォルトの名無しさん垢版2018/04/16(月) 20:29:20.27ID:jtdCSi5V
仕事でaccess使ったくらいだけど、
規模的にはテキストでも全然構わないレベルだった

excelと連動させたいからそういう手段が選べないだけで、
個人なら最初からexcelそのものを使わない
0581デフォルトの名無しさん垢版2018/04/17(火) 09:50:37.14ID:CpeCFbdf
扱うデータが多くて一々考えるのが面倒な時は使ってみると良い。
0582デフォルトの名無しさん垢版2018/04/17(火) 18:45:22.69ID:O41FhP2w
データの規模よりは、構造の複雑さだろうな
いろんな属性がいっぱいくっついてて、それらが相互に関連してるようなデータを
テキストベースで作るのはなかなか大変

で、個人でそんなデータを扱う機会はやっぱり無い
家計簿をコンビニ別に統計を出したいとか、そんなことは思わないし、
そうできるようにデータ入力するのが面倒すぎて挫折する
0583デフォルトの名無しさん垢版2018/04/17(火) 20:55:41.70ID:jy0h/NRq
こんな単純なデータ構造のものをDBにしたら遅くなるのは目に見えてる
単純に2つの配列か、独立してるのが嫌なら、2つの要素を持つオブジェクトの配列でいいだろ
0584デフォルトの名無しさん垢版2018/04/17(火) 21:07:35.33ID:O41FhP2w
しまうのはそれでいいけど、検索できんだろ

数が莫大になっても短時間で検索できるようにしまっといてくれるのがDBのいいところ
でも高々1万とかならリニアで十分
100万とかあると探索アルゴリズムが威力が効いてくる
0585デフォルトの名無しさん垢版2018/04/17(火) 21:08:16.86ID:IUYvc0m6
小規模だと遅くなるだろうな。
0587デフォルトの名無しさん垢版2018/04/18(水) 02:06:34.84ID:yJ81KmRv
>>586
DB使って、どういうキーでクエリー出すの?
俺は詳しくないから考え方だけでいいので教えて
・x>=キーのものの中からMINを取って、それのyを出力?
・x>=キー and 次のレコードのx<キー?(次のレコードって見れるのかは知らんけど)
・x,yの他にx2として範囲の最後をデータとして追加しておき、x<=キー and x2<キー?
何かベストマッチな方法がありそうだけどね
(上記の方法ではとてもDBの検索が効率よくいけるとは思えんので)
0588デフォルトの名無しさん垢版2018/04/18(水) 03:06:20.17ID:kaO6I25j
単純にSELECT y FROM hoge WHERE x BETWEEN a AND bで
実態はSQL側で最適化してくれるよ
データを扱うことに特化した高級言語な訳だし

個人的にはDB使うかどうかって、
データの流動性(?)がポイントな気がする
弄る機会が多ければ多いほど恩恵受けられる訳だから
0589デフォルトの名無しさん垢版2018/04/18(水) 03:22:30.21ID:yJ81KmRv
>>588
BETWEEN a AND bって、aからbの間ってことじゃなかったっけ?
x=100502の場合のyを求めるのにどう書くの?
BETWEEN 100502 AND 100502でいいんだっけ?
0590デフォルトの名無しさん垢版2018/04/18(水) 03:27:30.58ID:yJ81KmRv
これって例えば、10000から11000の間にあるデータxを全部抽出したい場合とかに使うものなのでは?
0591デフォルトの名無しさん垢版2018/04/18(水) 03:58:19.16ID:yJ81KmRv
>>587の例って全部おかしかったので書き直しとく
・MAX(x<=100502)
・x<=100502 and (次のレコードのx)?>100502
・x<=100502 and x2>=100502
0592デフォルトの名無しさん垢版2018/04/18(水) 11:34:48.13ID:gg2GabAw
表は x の最大と最小(xmin,xmax)と y をただ入れといて select y from xytbl where x between xmin and xmax みたいにすればいいじゃん。
xmin + 1 が次の xmax と一致するので無駄があるが xmin, xmax にインデックス作っておけば多分速くはなるだろう。
どうしても無駄をなくしたい場合は xmin と y だけにして xmax はビュー作ってそちらであるかのように見せかけておくか、または複雑になるが一つのSQL文にするかだ。
0593デフォルトの名無しさん垢版2018/04/19(木) 02:32:23.49ID:h5gs+kbl
>>592
何を言ってるのか不明
表にxminとyしかないのなら、xは使えないだろ
また、[x,y,xmin,xmax]=
([100000,1000,100000,100500], [100501,1001,100501,100700], [100701,1002,100701,120000],…)
ってことで
select y from xytbl where x between xmin and xmax
なら全レコードがマッチするよ
0594デフォルトの名無しさん垢版2018/04/19(木) 03:01:26.91ID:h5gs+kbl
between句は、
SELECT カラム名 , ... FROM テーブル名 WHERE カラム BETWEEN 値1 AND 値2;

SELECT カラム名 , ... FROM テーブル名 WHERE カラム >= 値1 AND カラム <= 値2;
と書くのと同等の機能

select y from tbl01 where x between 100000 and 110000
なら
select y from tbl01 where x >= 100000 and x<=110000
と同じってこと
0595デフォルトの名無しさん垢版2018/04/19(木) 10:18:42.11ID:XRkJ53+o
>>593
うまく伝わらなかったかな?考えてることは多分同じだよ。
例えば以下のようにするの(以下はSQLiteでのSQL)。

create table xytbl (xmin, xmax, y);
insert into xytbl (xmin, xmax, y)
values (100000, 100500, 1000), (100501, 100700, 1001), (100701, 120000, 1002);
create table xtbl (x);
insert into xtbl (x) values (9999), (100300), (100502), (118000), (120100);
select x, y from xytbl, xtbl where x between xmin and xmax;

ここでは xtbl に x の値だけ並べて入れておいて後でまとめて selectして x, y 両方出している。
0596デフォルトの名無しさん垢版2018/04/19(木) 10:19:56.20ID:T9/zIgZR
ごめんびとうぃーん言い出しっぺだけどダメだね
感覚と言うかノリだけで書いてしまった
実際書くと即だめじゃんってなるやつ
0597デフォルトの名無しさん垢版2018/04/19(木) 10:22:29.59ID:XRkJ53+o
PerlからDBI経由でDBアクセスするならxtbl不要でxの部分はprepareで'?'にしておいてexecuteで実際の値を渡せば良い。
0599デフォルトの名無しさん垢版2018/04/23(月) 17:03:26.38ID:YcjqEwjB
$$で取得するプロセスIDはどんな環境でも最大4桁までですか?
0600デフォルトの名無しさん垢版2018/04/23(月) 17:19:28.43ID:AJxfAl3T
>>599
んなこたなかろう。Linuxで ps -fe とかやれば5桁ぐらいのが沢山出てくるぞ。
かといって最大5桁で作って安心してはいけない。
将来的に変わるかも知れないしLinux以外ではもっと桁数あるかも知れないからな。
0601デフォルトの名無しさん垢版2018/05/01(火) 17:33:53.54ID:Jzi33zXB
全く初歩的な質問ですいません
ググってみたのですがそのものズバリの例を見つけることができませんでした。
やりたいことは、連装配列に配列を入れて取り出すことです。
最後の出力行が [2] となることを意図していますが、出力は
[]  となり、ワーニングもでています。
配列を入れたつもりの連装配列の要素が配列とは認識されていないようです。
この場合どのように書けば、所期の結果が得られるでしょうか?

$ perl -v

This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi
(with 46 registered patches, see perl -V for more detail)
〜後半略〜

$ cat sample.pl

my %hasy01;
my @array01;

@array01=(2,4,6,8);
$hash01{"name"}=@array01;

printf( "[%s]\n", $array01[0] );
printf( "[%s]\n", $hash01{"name"}[0] );

$ perl -w sample.pl
[2]
Use of uninitialized value in printf at sample.pl line 9.
[]
0606デフォルトの名無しさん垢版2018/05/01(火) 21:42:46.89ID:4WtZiQYp
デリファレンス側もちょっと不満があるな

printf( "[%s]\n", ${$hash01{"name"}}[0] );
こうか
printf( "[%s]\n", $hash01{"name"}->[0] );
こうがいい
0608デフォルトの名無しさん垢版2018/05/02(水) 08:00:00.39ID:lnsF+QsJ
#自分ならこうするかな
my $hash01;
my @array01;

@array01=(2,4,6,8);

$hash01 = {
name => \@array01 ,
foo => \@array01 ,
bar => \@array01 ,
# .... 多分こういうふうに増えるだろうし
};

printf( "[%s]\n", $h->{name}->[0] ); # -> があると目が滑りにくい!
0609デフォルトの名無しさん垢版2018/05/05(土) 20:27:28.60ID:yJAqb+uF
正規表現でマッチした部分を$1,$2などで取り出すけど
$いくつまであるかわからない場合$1,$2...$nをまとめて配列に入れる方法ってどうやるんですか?
0610デフォルトの名無しさん垢版2018/05/05(土) 21:54:57.88ID:ddSxgz72
>>609
ttp://perldoc.jp/docs/perl/5.22.1/perlrequick.pod#Extracting32matches
>リストコンテキストでは、グループ化付きのマッチング /regex/ は マッチングした値のリスト ($1,$2,...) を返します。 従ってこれは以下のように書き換えられます
> ($hours, $minutes, $second) = ($time =~ /(\d\d):(\d\d):(\d\d)/);

ttp://perldoc.jp/docs/perl/5.22.1/perlrequick.pod#More32matching
>リストコンテキストでは、//g はマッチングしたグループのリストを返します; グループ化の指定がなければ、正規表現全体にマッチングするリストを返します。 従って
> @words = ($x =~ /(\w+)/g);
0612デフォルトの名無しさん垢版2018/05/06(日) 12:36:15.67ID:Bse1bLkg
>>611
え?困らんだろ。普通に $10 とか $11 とか書けば良いだけだし。
0613デフォルトの名無しさん垢版2018/05/06(日) 13:41:43.10ID:1K09Bg92
Perl のことだとは言ってないな。正規表現の話なら 9 までしか使えない方が多数派だ。Perl でさえ昔はそうだった。
まあ、そういう話なら $10 ではなく \10 と書くべきかもしれないが。
0614デフォルトの名無しさん垢版2018/05/06(日) 18:20:08.93ID:Bse1bLkg
いやこのスレは「Perl についての質問箱」なわけで・・・
0615デフォルトの名無しさん垢版2018/05/15(火) 01:25:39.67ID:bz5cqKe9
ユーザ定義関数のリファレンスを変数に代入しておき、そのリファレンス変数を
参照することによって関数を呼び出すことができます。たとえばこんな感じに。
sub s { $_[0]+1 }
$r = \&s;
print $r->(1)."\n";

$ perl usr.pl
2

それでは、popやshift、printなどの組み込み関数についても、リファレンスを変数に代入しておき、変数を参照することによって組み込み関数を呼び出すことができないか方法を探しています。

しかしCOREやCORE::GLOBAL名前空間を使ってできないか、ためしてみましたがうまくいきません。たとえば

$r = \CORE::print;
#print "$r\n";
print $r->(3.14, "\n");

を実行すると

Not a CODE reference at 〜.pl line 3.

となります。

$r = \CORE::GLOBAL::print;
#print "$r\n";
print $r->(3.14, "\n");

を実行しても

Not a CODE reference at 〜.pl line 3.

となってしまします。何かいい方法をご存知でしたら教えてくださいませ。
0617615垢版2018/05/15(火) 23:35:25.73ID:fP8R1+3G
>>616
\&CORE もためしたけれど

$r = \&CORE::print;
print "$r\n";
$r->(3.14, "\n");

実行すると

Undefined subroutine &CORE::print called at 〜.pl line 3.
CODE(0x3919c)

となるのよ。
できなことなのかね…
0618デフォルトの名無しさん垢版2018/05/16(水) 00:12:42.68ID:uHifQt6J
ttps://perldoc.perl.org/CORE.html
COREパッケージの関数もリファレンスを取得したり別名を定義することができる(pushなど)
ただし一部はベアワードでしか呼び出せない(printなど)

>組み込み関数についても、リファレンスを変数に代入しておき、変数を参照することによって組み込み関数を呼び出すことができないか
結論: ものによる
0619615垢版2018/05/16(水) 01:13:39.26ID:N7L5seGg
>>618
ありがとう。
0621615垢版2018/05/16(水) 07:58:19.21ID:lqxKAjJz
>>620
そうすれば機能的に可能だけれど、
ユーザ関数のコードがワンクッション間に入るので
パーフォマンス的にみて、
できれば組み込み関数を直接、第一級関数としてクロージャーなどに
使えないか調べていた、ってわけですのよ
0623デフォルトの名無しさん垢版2018/05/23(水) 19:29:13.97ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

U85LY
0625デフォルトの名無しさん垢版2018/05/24(木) 12:17:56.05ID:62mXzMMG
bless
それは祝福
0627デフォルトの名無しさん垢版2018/05/26(土) 06:15:15.44ID:qdFYQfps
さすがにリファレンスですらない変数だと怒られた
でも、勝手に作った偽オブジェクトを食わせたりはできる

他の言語はそのへんの安全装置はどうなってるんだろう
0628デフォルトの名無しさん垢版2018/05/26(土) 11:44:11.22ID:nibGH99w
blessは、オブジェクトにパッケージを関連付けるだけだろ。
どんな「安全装置」が必要なのか?

ちなみに、RubyもJavaScriptも、動的に後からメソッドとか足し放題だな。
まあ、スクリプト言語としては残念でもないし当然。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況