我正在做代码学院流,我有一点Ruby经验.我不明白为什么check_angles(self)函数需要self参数.
我感到困惑的原因是我不明白在调用函数时是什么将self参数传递给函数.似乎函数调用(代码块的最后一行)是隐式传递,但该函数需要将self明确定义为参数.
为什么是这样?
class Triangle(object):
def __init__(self, angle1, angle2, angle3):
self.angle1 = angle1
self.angle2 = angle2
self.angle3 = angle3
number_of_sides = 3
def check_angles(self):
sum_angles = self.angle1 + self.angle2 + self.angle3
if sum_angles == 180:
return True
else:
return False
tri = Triangle(45,34,78)
tri.check_angles(EMPTY BUT WHY)
Run Code Online (Sandbox Code Playgroud) 我知道如何使用erb,并且已经在rails和独立的ruby应用程序中完成了.我不知道它来自哪里,因为我从来没有安装它但它就在那里.我在我的mac上使用了rbenv.
我使用rails安装程序在Windows 8计算机上安装了ruby,似乎无法访问erb.
你怎么安装erb ??? (或者有什么我想念的东西)
我发现在sublime 3上,如果我自动完成代码,我有时会得到一个额外的角括号.
例如,如果我开始编写"<ht",我可以选择自动完成html标记,但生成的代码如下所示:
<<!DOCTYPE html> <!-- Extra angle bracket here -->
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这很烦人.我该如何解决?我不确定它做了什么其他自动完成.一旦我知道它的工作方式以及是否可以根据我的风格进行调整,我想开始使用该功能
在Xamarin.Forms中,我正在尝试创建一个我然后子类化的页面,如下所示:
public partial class PageA : ContentPage {
public PageA() {InitializeComponent ();}
}
public partial class PageB : PageA {
public PageB() : base() { ... }
}
Run Code Online (Sandbox Code Playgroud)
这两个页面都是包含代码隐藏的xaml页面,但是PageB页面不起作用,我不知道为什么(我是XAML,Xamarin,C#的新手,基本上是编码).
我目前无法编译代码,因为这一行:
this.FindByName<Label>
Run Code Online (Sandbox Code Playgroud)
给我一个警告:
PageB不包含'FindByName'的定义,最好的扩展方法......需要'Element'类型的接收器
这一行:
await Navigation.PushAsync(new PageB());
Run Code Online (Sandbox Code Playgroud)
给出一个错误,即PageB不是Xamarin.Forms.Page.我不知道为什么PageA会被认为是这种类型,但确实如此.
问题:
我怀疑我在这里的许多事情都很疯狂,所以对我如何表达问题以及指出我应该问的问题的任何更正都非常受欢迎!
===========编辑
回应以下评论:
网页A
.cs文件(codebehind)具有命名空间AppName.FolderName,xaml具有x:Class属性值x:Class="AppName.FolderName.PageA"
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AppName.FolderName.PageA">
... (some elements) ...
</ContentPage>
Run Code Online (Sandbox Code Playgroud)
网页B
.cs文件(codebehind)具有命名空间AppName.FolderName.SubFolderName,xaml具有x:Class属性值x:Class="AppName.FolderName.SubFolderName.PageB"
我有以下参考资料using AppName.FolderName,这使我可以访问该PageA课程
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" …Run Code Online (Sandbox Code Playgroud) 我无法从电子表格中的单元格获取值。我在文档中找到了 getCell() 方法,但它不起作用。它总是只得到“范围”而不是值。(顺便说一句,它是一个整数。)而且我没有找到 setCell() 方法!oO 值位于单元格 B:1 中,如有任何帮助,谢谢!!1 :)
var API_KEY = "***",
PROFILE_ID = "****";
GET_PLUS_ONES_URI = "https://www.googleapis.com/plus/v1/people/"+PROFILE_ID+"?fields=plusOneCount&key="+API_KEY;
var currentPlusOnes = 0,
lastPlusOnes = 0,
ss = SpreadsheetApp.getActive();
function execute() {
getCurrentPlusOnes();
getLastPlusOnes();
if ( currentPlusOnes !== getLastPlusOnes ) {
setCurrentValue();
}
}
function getCurrentPlusOnes() {
currentPlusOnes = JSON.parse( UrlFetchApp.fetch( GET_PLUS_ONES_URI )).plusOneCount;
}
function getLastPlusOnes() {
lastPlusOnes = ss.getRange("B1").getCell( 1, 1 ); // --> Allways just "Range" instead of the value
}
function setCurrentValue() {
ss.getDataRange().setValue( currentPlusOnes );
}
Run Code Online (Sandbox Code Playgroud) 在此代码中:
class Dog
def self.bark
print "woof"
end
end
class Little_dog < Dog
end
Little_dog.bark
Run Code Online (Sandbox Code Playgroud)
该方法继承自引用 的通用类self。但是下一个代码补丁:
class Dog
def Dog.bark
print "woof"
end
end
class Little_dog < Dog
end
Little_dog.bark
Run Code Online (Sandbox Code Playgroud)
也有效。我原以为它会给我一个错误,但它没有。
类继承下如何self引用类方法?为什么在第二个示例中该类little_dog有一个类方法bark,而我只将其定义为 的类方法Dog?
当我输入 git status 时,我收到以下消息:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: .DS_Store
modified: README.txt
modified: lib/PriceSeries.rb
Untracked files:
(use "git add <file>..." to include in what will be committed)
MM8 Prices.pdf
prices from EH.xlsx
Run Code Online (Sandbox Code Playgroud)
我希望能够说git add .,不添加未跟踪的文件。我相信 .gitignore 文件应该是为此。我的 .gitignore 文件(在 .git 文件夹中)如下所示:
#Ignore all xlsx files
.xlsx
#Ignore all pdf file
.pdf
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
有没有一种方法可以使用Google App脚本中的Logger.log记录对象的内容?
如果我有Logger.log(data),则日志为'DataTableBuilder'或'object'或类似内容,并且无济于事。
如果可能,我想查看这些对象的JSON字符串...
我正在向 CouchDB 发出 POST 请求,其中包含正文中的键列表。
这是 Stack Overflow 上之前提出的问题的后续:CouchDB Query View with Multiple Keys Formatting)。
我看到本例中返回了 711 行,偏移量为 209。对我来说,偏移量意味着已被截断的有效结果 - 您需要转到下一页才能看到它们。
我很困惑,因为偏移量、行数和我实际得到的内容似乎并没有相加。这些是我得到的结果:
{
total_rows: 711,
offset: 209,
rows: [{
id: 'b45d1be2-9173-4008-9240-41b01b66b5de',
key: 2213,
value: [Object]
}, {
id: 'a73d0b13-5d36-431f-8a7a-2f2b45cb480d',
key: 2214,
value: [Object]
},
etc BUT THERE ARE ONLY 303 OBJECTS IN THIS ARRAY????
]
}
Run Code Online (Sandbox Code Playgroud) 我有一个 OWIN 托管的应用程序,它可以做两件事:
提供 API 位于 mydomain.com/api/...
将所有其他请求路由到返回 HTML 页面的单个控制器
我目前有这条路线:
config.Routes.MapHttpRoute(
name: "default",
routeTemplate: "{controller}",
defaults: new { controller = "Index" }
);
Run Code Online (Sandbox Code Playgroud)
而这个控制器:
public class IndexController : ApiController
{
public HttpResponseMessage Get()
{
string html = File.ReadAllText(@"C:/www/.../index.html");
HttpResponseMessage response = new HttpResponseMessage
{
Content = new StringContent(html),
StatusCode = System.Net.HttpStatusCode.OK
};
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html");
return response;
}
}
Run Code Online (Sandbox Code Playgroud)
当我去我的家乡路线时,这很好用:
mydomain.com => HTML
Run Code Online (Sandbox Code Playgroud)
如何配置路由模板,以便始终访问同一个控制器?
mydomain.com/path1 => I want the same HTML
mydomain.com/path1/something => I want the same HTML …Run Code Online (Sandbox Code Playgroud) c# ×2
ruby ×2
autocomplete ×1
class-method ×1
couchdb ×1
erb ×1
gitignore ×1
html ×1
inheritance ×1
python ×1
self ×1
sublimetext3 ×1
xamarin ×1