这是C#中的一个简单生成器.
IEnumerable<int> Foo()
{
int a = 1, b = 1;
while(true)
{
yield return b;
int temp = a + b;
a = b;
b = temp;
}
}
Run Code Online (Sandbox Code Playgroud)
如何在Digital Mars D中编写类似的发生器?
(问题是关于收益率报表)
谢谢!
更新.那很有意思.由于我只是生成一个数学序列,因此使用递归可能是一个不错的选择.
auto fib = recurrence!("a[n-1] + a[n-2]")(1, 1);
foreach (e; take(fib, 10)) // <- prints first ten numbers from the sequence
{
writeln(e);
}
Run Code Online (Sandbox Code Playgroud) 我有一个资源是一个.
这意味着我的网址看起来像这样:
http://myapp/index/.
我需要添加查询参数,使它看起来像这样:
http://myapp/index/.?type=xml
我使用Freemarker来表示我的资源,并为这种情况做了一个百分比编码黑客:
<#if key?matches("\\.")>
<li><a href="${contextPath}/index/%2E">${key}</a></li>
</#if>
Run Code Online (Sandbox Code Playgroud)
这适用于Firefox.但所有其他浏览器,如IE,Safari,Chrom,Opera只是忽略了我的网址编码点(http://myapp/index/%2E).
有什么建议?
有没有一种方法在java脚本中只获取一个特定的名称而不是使用document.getElementsByName("x");哪个返回一个数组?我有一种特殊的情况,我不能使用id.有什么建议吗?谢谢.
defrecord 在clojure中允许使用自定义字段定义简单数据容器.
例如
user=> (defrecord Book [author title ISBN])
user.Book
Run Code Online (Sandbox Code Playgroud)
结果的最小构造函数只接受位置参数而没有其他功能,例如字段默认,字段验证等.
user=> (Book. "J.R.R Tolkien" "The Lord of the Rings" 9780618517657)
#:user.Book{:author "J.R.R Tolkien", :title "The Lord of the Rings", :ISBN 9780618517657}
Run Code Online (Sandbox Code Playgroud)
编写包含默认构造函数的函数总是可以获得更复杂的构造语义 - 使用关键字参数,提供默认值等等.
这似乎是宏提供扩展语义的理想方案.人们为了更丰富的defrecord建设而编写和/或推荐了哪些宏?
我有一个从.NET WebService返回的自定义对象列表,并使用父级enitity与Core Data的To-Many关系存储它们.
我想使用NSSet作为UITableView的数据源,并在选择行时将新控制器压入堆栈.
使用时[NSSet allObjects],返回的数组总是具有相同的顺序?(我猜不是因为集合是无序的)
如果没有,那么我如何使用NSArray *myArray = [mySet allObjects];in cellForRowAtIndexPath来获取textLabel单元格的名称,然后再将in didSelectRowAtIndexPath对象分配给即将推送的ViewController?
我已经在我的家伙中合成了父对象UITableViewDelegate.我已经考虑过也有一个NSArray合成并且allObjects只使用一次viewDidLoad创建,但这会复制内存中的数据
SELECT a,b,count(*)
FROM t
GROUP BY rollup(a,b)
Run Code Online (Sandbox Code Playgroud)
结果:
a1, b1, 10
a1, b2, 90
a1, , 100
Run Code Online (Sandbox Code Playgroud)
我需要:
a1, b1, 10, 100
a1, b2, 90, 100
Run Code Online (Sandbox Code Playgroud)
怎么样?
我有银色问题我用了两天时间来打架:带有样式的模板控制按钮.在具体按钮中,我有一个以路径为内容的画布.问题是我希望路径填充颜色从模板中的ContentControl绑定到Foreground.
但是,我还没弄清楚如何构造绑定以获取Forground.如果我愿意,例如使用TextBlock,它将自动从Style中获取Forground颜色.正如预期的那样,文本具有前景色.绑定的原因是动画控制着forground,我希望它传播到路径的填充颜色.有任何想法吗?
该模板包含以下内容:
<Style x:Key="PathButtonStyle" TargetType="Button">
... Animations and state stuff
<Border x:Name="ButtonBackground" BorderBrush="{TemplateBinding BorderBrush}" >
<ContentControl x:Name="ContentContainer"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
Foreground="{TemplateBinding Foreground}" />
</Border>
</Style>
Run Code Online (Sandbox Code Playgroud)
在我的布局中,我有以下内容:
<Button x:Name="Play" Style="{StaticResource PathButtonStyle}" >
<Canvas x:Name="PlayIcon">
<Path Data="F1M191.4839,96.1763L177.9149,106.5173L177.9149,85.9293z"
Fill="{PATH TO CONTENTCONTROLS FOREGROUND}" />
</Canvas>
</Button>
Run Code Online (Sandbox Code Playgroud)
我已经清理了代码并删除了一些内容以使其更具可读性,但我希望你能够了解它背后的想法.
我有一个关于使用boost::lock_guard(或类似的作用域锁)和使用应该由return语句中的锁保护的变量的问题.
如何破坏本地对象并复制返回值?返回值优化如何影响这一点?
例:
Data Class::GetData()
{
boost::lock_guard<boost::mutex> lock(this->mMutex);
return this->mData;
}
Run Code Online (Sandbox Code Playgroud)
这是正确的(如果mData是受mMutex保护的变量)吗?或者我是否必须使用本地范围和临时,如下例所示:
Data Class::GetData()
{
Data ret;
{
boost::lock_guard<boost::mutex> lock(this->mMutex);
ret = this->mData;
}
return ret;
}
Run Code Online (Sandbox Code Playgroud) 可能重复:
Ruby on Rails:在哪里定义全局常量?
我有兴趣在新应用程序上执行"Rails Way".我还想在某种上下文中引用常量来使代码更具可读性.我有一个应用程序,用户可以请求访问其他用户的数据集.此AccessRequest可以具有以下状态之一:
查看拒绝批准
我可以看到这些值将来用于报告功能,所以我想让它们成为常量,以避免任何拼写或大写问题.我以为我会把它们放在config/initializers目录下的constants.rb文件中.
我想将这些称为AccessRequest :: REVIEW.因为我已经有一个名为AccessRequest的模型,将它们放在那里是否有意义?或者将它们包装在config/initializers目录中的constants.rb文件中的类中?Rails方式是哪种方式?
.net ×2
boost-thread ×1
c++ ×1
clojure ×1
constants ×1
constructor ×1
core-data ×1
count ×1
d ×1
dmd ×1
encoding ×1
freemarker ×1
group-by ×1
html ×1
iphone ×1
javascript ×1
locking ×1
macros ×1
nsset ×1
oracle ×1
record ×1
restlet ×1
rollup ×1
silverlight ×1
sql ×1
uitableview ×1
url ×1
wix ×1