Как я использую константы от модуля Perl?

Оба будут работать как шарм:),

  1. JAVASCRIPT:
    function CopyToClipboard(containerid) {
    if (document.selection) { 
        var range = document.body.createTextRange();
        range.moveToElementText(document.getElementById(containerid));
        range.select().createTextRange();
        document.execCommand("copy"); 
    
    } else if (window.getSelection) {
        var range = document.createRange();
         range.selectNode(document.getElementById(containerid));
         window.getSelection().addRange(range);
         document.execCommand("copy");
         alert("text copied") 
    }}
    

Также в html,



Text To Copy
  1. JQUERY:

https://paulund.co.uk/jquery-copy-clipboard

40
задан brian d foy 15 October 2008 в 05:59
поделиться

6 ответов

Константы являются просто нижними индексами с пустым прототипом, таким образом, они могут быть экспортированы как любая другая замена

# file Foo.pm
package Foo;
use constant BAR => 123;
use Exporter qw(import);
our @EXPORT_OK = qw(BAR);


# file main.pl:
use Foo qw(BAR);
print BAR;
25
ответ дан moritz 23 September 2019 в 16:04
поделиться

Чтобы подробно остановиться на более ранних ответах, начиная с, константы являются действительно просто нижними индексами, Вы можете также , называют их непосредственно:

use Foo;
print Foo::BAR;
21
ответ дан Tanktalus 23 September 2019 в 16:04
поделиться

Вы могли бы хотеть рассмотреть использование Только для чтения вместо константы.

17
ответ дан Berserk 23 September 2019 в 16:04
поделиться

Для добавления к набору хитрых приемов начиная с, константа является просто подпрограммой, которую можно даже назвать им как методом класса.

package Foo;
use constant PI => 3.14;

print Foo->PI;

, Если у Вас есть много констант, это - хороший способ достигнуть случайный, не имея необходимость экспортировать их всех. Однако, в отличие от этого Foo::PI или экспорт PI, Perl не скомпилирует Foo->PI, таким образом, Вы понесете расходы вызова метода (который, вероятно, не имеет значения).

6
ответ дан Schwern 23 September 2019 в 16:04
поделиться

Константы могут быть экспортированы точно так же, как другие символы пакета. Используя стандартный модуль Средства экспорта, можно экспортировать константы из пакета как это:

package Foo;
use strict;
use warnings;

use base 'Exporter';

use constant CONST => 42;

our @EXPORT_OK = ('CONST');

1;

Затем в клиентском сценарии (или другой модуль)

use Foo 'CONST';
print CONST;

Можно использовать %EXPORT_TAGS хеш (см. документацию Средства экспорта) определить группы констант, которые могут быть экспортированы с единственным аргументом импорта.

Обновление: вот пример того, как использовать %EXPORT_TAGS функция, если у Вас есть несколько констант.

use constant LARRY => 42;
use constant CURLY => 43;
use constant MOE   => 44;

our @EXPORT_OK = ('LARRY', 'CURLY', 'MOE');
our %EXPORT_TAGS = ( stooges => [ 'LARRY', 'CURLY', 'MOE' ] );

Затем можно сказать

use Foo ':stooges';
print "$_\n" for LARRY, CURLY, MOE;
48
ответ дан friedo 27 November 2019 в 00:12
поделиться
package Foo;
use Readonly;
Readonly my  $C1 => 'const1';
Readonly our $C2 => 'const2';
sub get_c1 { return $C1 }
1;

perl -MFoo -e 'print "$_\n" for Foo->get_c1, $Foo::C2'
8
ответ дан maletin 27 November 2019 в 00:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: