处理这种情况的正确方法是什么?我的F#类DogTree中有一个方法可以满足为两个接口实现Bark()方法的要求。
type ITree =
interface
abstract Bark : unit -> unit
abstract Grow : unit -> unit
end
type IDog =
interface
abstract Bark : unit -> unit
abstract ChaseCar : unit -> unit
end
type Tre
我正在制定一个npm一揽子计划,应该由其他人消费。我决定包应该提供一些函数,使使用包中定义的对象更容易。指定“委托”给方法的函数。
例如,bark
function Dog(name) {
this.name = name
}
Dog.prototype.bark = function bark() {
return `${this.name}: Woof!`
}
function bark(dog) {
return dog.bark()
}
// Example use of bark.
console.log(
[ new Dog('Spike'
我想用它出现的次数替换子字符串,例如:
$text = "The dog is saying wooff wooff wooff wooff but he should say
bark bark bark bark not wooff wooff wooff";
$newText = preg_replace('!\wooff+', 'wooff{$total}', $text);
其结果应该是:
$newText = "The dog is saying wooff4 but he should say
bark bark ba
我只是想看看来自子类的实例方法调用,并使用我的测试中的以下代码:
class Animal
def bark
p "hukkhh"
end
end
#=> nil
class Cow < Animal
end
#=> nil
Cow.public_instance_method(:bark)
#=> #<UnboundMethod: Cow(Animal)#bark>
class Cow
bark
end
#=> NameError: undefined local variable or method `ba
我正在尝试解决一个JS难题,但是我不知道为什么在ralph.bark函数中使用setTimeOut不能工作(不日志拉尔夫.)?
我们是针对范围内的特定对象调用树皮函数(相对于this.bark,它会使"this“指向窗口.),因此"this”应该设置为拉尔夫,不是吗?有人能解释一下为什么这不管用吗?
var Dog = function( name ) {
this.name = name;
}
Dog.prototype.bark = function() {
console.log( this.name );
}
// make a new instan
我已经低于测试脚本,我不知道为什么是给我错误。但同时也按预期工作(输出文本“woof”);
abstract class Animal {
abstract function bark();
function MakeDog(){
return $this->bark();
}
}
class Dog extends Animal {
function bark(){
echo 'Woof';
}
}
$dog = new Dog();
echo $dog->MakeDog()->bark();
我有3个包含下一个内容的文件:
bark.ts
export function bark () {
console.log('My name', this.name);
}
Dog.ts
import {bark} from './bark';
class Dog {
name = 'Hachiko';
makeVoice = bark.bind(this);
}
index.ts
const dog = new Dog();
dog.makeVoice();
如果我使用干净的JS (没有TS)运行它,
var bark = function() {
var animals = "Dogs";
var sound = "Bark"
console.log(animals + " go " + sound);
};
console.log(animals);
console.log(sound);
当我把变量记录到控制台时,没有雪茄.
ReferenceError: animals is not defined
ReferenceError: sound is not defined
如果我们有像下面这样的工厂函数。为什么内部变量bark对外部更改是私有的?
var dog = function(){
var bark = "Woof" //What makes this private?
return {
talk: function(){
console.log(bark)
}
}
}
var fido = dog()
fido.bark = "BARK BARK" //Why does this
我开始使用OO,在查看了我从互联网上下载的各种类之后,我注意到这些类中的一些--但不是全部--有一个同名的初始函数。
class MyClass{
function MyClass{
//function contents in here
}
function otherfunction{
//more stuff here
}
}
这个初始函数是用来做什么的?它对编写类有什么帮助?
自动映射器新手-困惑为什么这不是work...Thanks!
public class Dog
{
public string Bark { get; set; }
}
public class Pig
{
public string bark { get; set; }
}
class Program
{
static void Main(string[] args)
{
Mapper.Initialize(cfg =>
{
cfg.DestinationMemberNamingConventi
我正在为子类化和类变量而苦苦挣扎。我期望由子类的类方法调用设置的类变量特定于该子类,但我看到它们是在超类中设置的。
例如,如果我运行以下代码:
class Obj
@@can_say = []
def self.says word
@@can_say.push(word)
end
def self.listens_to calling
define_method calling do
"I say #{@@can_say}"
end
end
end
class D
快速问题,比如说你有一个协议叫:
protocol MakeSound {
func bark()
}
一个超类Dog,它实现了叫和游泳:
class Dog: MakeSound {
}
然后是不同类型的狗,它们扩展了这一点:
class Poodle: Dog {
}
class GermanShephard: Dog {
}
class SheepDog: Dog {
}
但是狮子狗叫,他们不叫…所有的狗都会叫,它们只是用不同的方式…我如何给他们特定的树皮行为?
扩展协议?...
extension MakeSound {
func bark()
func ya
class Dog {
bark () {
console.log(`Dog.bark`)
}
callMyBark () {
// how do I have this function use the bark above and not Pug.bark?
this.bark()
}
}
class Pug extends Dog {
bark () {
console.log(`Pug.bark`)
}
callMyBark () {
super.callMyBark()
}
}
let pug = new P
如果我只知道现有对象的文字名称,如何调用它的方法?
例如:
class Cat {
def bark() {
println "I am a cat."
}
}
class Dog {
def bark() {
println "I am a dog."
}
}
def cat = new Cat()
def dog = new Dog()
def animal = 'cat'
"${animal}".bark() // Error
如下所示,我只知道动物的名字
我一直在尝试访问在该类之外的类中生成的函数。如果self不是函数的参数之一,那么它工作得很好,如下所示:
class Dog():
def Bark():
print("woof")
Marley = Dog
Marley.Bark()
但是,如果我将self添加到Bark()中,如下所示:
class Dog():
def Bark(self):
print("woof")
def Bark_lots(self):
for I in range(3):
在匿名实例创建中使用以前声明的变量时,g++会出现重新声明错误。
我的"weird.cpp“源文件中有以下代码:
#include <iostream>
int main()
{
int i = 0;
int j = int ( i );
int ( i );
}
我得到的错误是,
weird.cpp: In function ‘int main()’:
weird.cpp:7: error: redeclaration of ‘int i’
weird.cpp:5: error: ‘int i’ previously declared here
我已经在ma
我正试图向这样的原型中添加一个函数
function Dog(name, breed) {
this.name = name;
this.breed = breed;
}
function barkWithMe() {
console.log("woof woof i am " + this.name);
}
Dog.prototype.bark = barkWithMe();
var snoopy = new Dog();
snoopy.bark();
但它显示了一个错误
Uncaught TypeError: snoopy.bark is not
在此代码中:
class Dog
def self.bark
print "woof"
end
end
class Little_dog < Dog
end
Little_dog.bark
该方法是从引用self的泛型类继承的。但是下一个补丁代码:
class Dog
def Dog.bark
print "woof"
end
end
class Little_dog < Dog
end
Little_dog.bark
也很管用。我原以为它会给我一个错误,但事实并非如此。
self如何引用类继承下的类方法?为什