Perlスカラーでメソッドを呼び出すにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1800136

  •  05-07-2019
  •  | 
  •  

質問

スカラー(数値)のメソッドを呼び出すコードを見ました:

print 42->is_odd

このような「機能」を実現するには、何をオーバーロードする必要がありますか?あなたのコードで?

役に立ちましたか?

解決

オートボックスを参照していますか? Perlでオートボックスを使用する必要がありますかも参照してください。

他のヒント

これは、オートボックス機能を使用した例です。

#!/usr/bin/perl

use strict;
use warnings;

package MyInt;

sub is_odd {
  my $int = shift;
  return ($int%2);
}

package main;

use autobox INTEGER => 'MyInt';
print "42: ".42->is_odd."\n";
print "43: ".43->is_odd."\n";
print "44: ".44->is_odd."\n";
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top