Вы могли сделать выбор на таблицах, вставляющих запятые после каждого поля, чтобы произвести csv или использовать инструмент GUI, чтобы возвратить все данные и сохранить его к csv.
вызывающий - это метод ядра, который позволяет вам это сделать, поэтому вызывающий [0] сообщит вам о непосредственном вызывающем лице функции.
быстрый способ получить только имя функция может быть
caller[0][/`\S+/].chop[1..-1]
, это вернет имя вызывающего метода в виде строки, которую вы затем можете использовать, как хотите
Если у вас есть двоичный оператор, например +, вы обычно хотите, чтобы преобразование типов выполнялось для обоих операндов. Например, оператор конкатенации строк должен иметь возможность преобразовывать один или оба своих операнда из символа * в строку. Если это так, то это не может быть функция-член, поскольку левый операнд будет * this, и преобразование не будет выполнено.
Например:
operator+( a, b ); // conversions performed on a and b
a->operator+( b ); // conversion can only be performed on b
Если оператор определен вне класса, он считается глобальным и позволяет отображать другие типы в левой части оператора.
Например, для данного класса Foo
, с помощью глобального оператора +
вы можете сделать:
Foo f;
Foo f2 = 55 + f;