我需要我的计数器从 1 开始。现在我有
for(counter, file) in enumerate(files):
counter += 1
//do stuff with file and counter
Run Code Online (Sandbox Code Playgroud)
但一定有更好的方法,在Python v2.4中
我对 C++ 中的构造函数和 OOP 非常陌生,我遇到了以下问题。我尝试制作以下课程,但显然枚举器有问题。另外我想知道我是否可以以某种方式将 EUR 设置为默认选项。
class Amount
{
// Todo 6.2
// Implement class Amount
protected:
float Netto_;
float Brutto_;
enum tax_ { tax1 , tax2};
enum Currency_ { EUR, USD };
const float eur_to_usd = 1.13;
const float usd_to_eur = 0.89;
std::string Description_;
public:
Amount(std::string Description , float Brutto, Currency_ Currency, tax_ taxtype) : Brutto_{Brutto} , Description_{Description}, Currency_{Currency}, tax_{taxtype} {}
};
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
"Currency_" is not a nonstatic data member or base class of class "Amount"
Run Code Online (Sandbox Code Playgroud)
谢谢!
考虑一些功能foo:
def foo(input)
input * 2
end
Run Code Online (Sandbox Code Playgroud)
如何获取某些数组的输入的最大值a?
a = [3, 5, 7, 9, 6]
Run Code Online (Sandbox Code Playgroud)
类似下面的内容(不起作用)应该返回9:
a.max do |value|
foo(value)
end
Run Code Online (Sandbox Code Playgroud)
怎么做?
Ruby 1.9.2
我们正在查看我们的代码,试图识别高CPU使用率,我正在研究我们使用while循环的几个方面.我想从下面显示的代码中冒出无限循环的风险,但我不确定最佳解决方案是什么.
IDictionaryEnumerator codeEnumerator = Resources.Error_Codes.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true).GetEnumerator();
IDictionaryEnumerator messageEnumerator = Resources.Error_Messages.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true).GetEnumerator();
bool codeDone = false;
bool messageDone = false;
while (codeEnumerator.MoveNext() && !codeDone)
{
string value = codeEnumerator.Value.ToString();
if (value == failedResponse.Code.ToString())
{
key = codeEnumerator.Key.ToString();
codeDone = true;
}
}
while (messageEnumerator.MoveNext() && !messageDone)
{
if (messageEnumerator.Key.ToString() == key)
{
message = messageEnumerator.Value.ToString();
messageDone = true;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在为我正在创建的这种简单的GUI脚本语言制作一个小的解析器.一切正常,但我需要知道是否可以这样做:
Parser.hpp:
class Parser
{
public:
enum class LineType;
}
Run Code Online (Sandbox Code Playgroud)
GUIParser.hpp:
class GUIParser : public Parser
{
public:
enum class LineType
{
BACKGROUND,
BUTTON,
LABEL,
RADIOBOX,
COMMENT
};
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误,但是如果可能那么我会做出什么语法错误?
感谢您的帮助!
我通常使用loop如下方式从外部API或DB(redis pop)请求数据:
records = []
loop do
record = MyHandler.new(token).fetch
break unless record
records.push(record)
end
Run Code Online (Sandbox Code Playgroud)
它有效,但为了让它看起来更好,我想知道是否有任何方法可以使用Enumerator.有人知道吗?
我已经看到这种形式突然出现,例如:
(x..y).map { |i| 2*i }.inject(:+)
Run Code Online (Sandbox Code Playgroud)
所以它似乎在创建一个枚举器?但是我无法在ruby-docs中找到语法的定义,这对谷歌来说是一个很难的字符串!
谢谢你的帮助!
我正在使用 yield return 来处理一些数据,其中包含一组不确定的迭代。我想开始处理,但是一旦满足条件(例如字节大小)就从循环中断,将枚举数传递给将继续处理的新线程,然后返回到目前为止处理的结果。
实际上,我有一个 foreach 循环,我可能会在结束之前突破它。如何将 IEnumerable 传递给一个新线程并从我离开的地方而不是从头开始“继续”?
public static IEnumerable<String> Process()
{
// static values added for simplicity, but will be a variable number of returns
yield return "1";
yield return "2";
yield return "3";
yield return "4";
yield return "5";
yield return "6";
}
List<String> main()
{
List<String> retVal = new List<String>();
IEnumerable<String> strList = Process();
foreach(String strItem in strList)
{
retVal.Add(strItem);
Console.WriteLine(strItem);
// Time to send something back and continue in a new thread
if (strItem.Equals("3")) …Run Code Online (Sandbox Code Playgroud) 我是C++的新手,我正在尝试创建一个枚举列表的位置,它们是各自的坐标,但我无法想出一种方法来在一个枚举条目中存储多个整数值.是否有可能做到这一点?
我做了很多环顾四周,但我找不到任何可以说明的方法.
enum Places {
CITY = //coordinates would be here,
TOWN = //differnt coordinates would be here
};
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒.
这是我想要转换为C#的Java代码:
public Enumeration getLogHeaders()
{
return logHeaders != null ? logHeaders.elements() : null;
}
Run Code Online (Sandbox Code Playgroud)
logHeaders是一个List<String>.
这是翻译过的C#版本,但每当我尝试它时,我都会收到编译错误.
public IEnumerable<string> getLogHeaders()
{
return logHeaders != null ? logHeaders.GetEnumerator() : Enumerable.Empty<string>();
}
Run Code Online (Sandbox Code Playgroud)
我该怎么改变它?
我有一个带有索引器的类。我希望能够在this上运行 foreach 循环,但它说我必须实现 Enumerator 接口。这让我实现了两种方法:
#region IEnumerable implementation
public IEnumerator<Type> GetEnumerator() {
throw new NotImplementedException();
}
#endregion
#region IEnumerable implementation
IEnumerator IEnumerable.GetEnumerator() {
throw new NotImplementedException();
}
#endregion
Run Code Online (Sandbox Code Playgroud)
该类是这样构建的:
我希望能够在类中的this上运行 foreach 循环,因此我可以使用索引器的获取和设置逻辑获取和设置数组字段。
这就是为什么我需要实现 GetEnumerator 方法,但我不知道那里需要什么样的实现。
谢谢你的帮助。
注意:我如何实现 IEnumerable<T>线程对我没有帮助,我已经阅读过了。唯一的实现是返回数组的枚举器。
enumerator ×11
c# ×4
c++ ×3
ruby ×3
arrays ×2
constructor ×1
enumerable ×1
enums ×1
ienumerable ×1
inheritance ×1
iterator ×1
java ×1
oop ×1
python ×1
python-2.4 ×1
ruby-1.9.2 ×1
yield ×1