rebol []
secretAgent: do func[ /local person firstName lastName][
firstName: "James"
lastName: "Bond"
person: make object! [
whoAreYou: func[][
print rejoin ["My name is " lastName ", " firstName " " lastName]
]
]
]
secretAgent/whoAreYou
if (error? (error: try [secretAgent/firstName])) [
probe disarm error
]
input
Run Code Online (Sandbox Code Playgroud)
回报
My name is Bond, James Bond
** Script Error: Invalid path value: firstName
** Near: secretAgent/firstName
Run Code Online (Sandbox Code Playgroud)
而我期望同样的结果
probe disarm try [secretAgent/firstName]
input
Run Code Online (Sandbox Code Playgroud)
返回:
My name is Bond, James Bond
make object! [ …
Run Code Online (Sandbox Code Playgroud) private void GeoCode_Method1(string myaddress, int waypointIndex, string callingUser)
{
GCService.GeocodeCompleted += new EventHandler<NSpace.GCService.GeocodeCompletedEventArgs>(GeoCode_Method1_GeocodeCompleted);
GCService.GeocodeAsync(request, waypointIndex);
}
void GeoCode_Method1_GeocodeCompleted(object sender, NSpace.GCService.GeocodeCompletedEventArgs e)
{
//***QUESTION: how do I access variable "callinguser" from GeoCode_Method1 in this method??
}
Run Code Online (Sandbox Code Playgroud)
当我调用 GeoCode_Method1 时,我发送“callinguser”字符串变量,并且我想在 GeoCode_Method1_GeocodeCompleted 中访问它(异步 GeoCodingAsync 调用完成时触发)。我该怎么做呢?
因为我还在学习Android(而且看起来亚马逊说我要花2个月才拿到Hello,Android书)我仍然在做着简单的事情.使用ImageView点击RelativeLayout上的按钮,即可显示图标.创建它的代码如下:
private int mIconIdCounter = 1;
private ImageView addIcon(){
ImageView item = new ImageView(this);
item.setImageResource( R.drawable.tiles );
item.setAdjustViewBounds(true);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT );
if( mIconIdCounter != 1 ){
params.addRule(RelativeLayout.RIGHT_OF, 1 );
}
item.setLayoutParams( params );
item.setId( mIconIdCounter );
++m_IconIdCounter;
return item;
}
Run Code Online (Sandbox Code Playgroud)
并且添加项目的代码是:
Button addButton = (Button)findViewById(R.id.add_new);
addButton.setOnClickListener( new OnClickListener(){
@Override
public void onClick(View view) {
addContentView( addIcon(), new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT ) );
}
});
Run Code Online (Sandbox Code Playgroud)
当我点击我的按钮时会发生什么,所有新创建的视图都放在另一个上面.我希望它们被放置在下一个元素的右侧.我在SO上快速搜索了与RelativeLayout相关的文章,并发现了一些相似的内容(这里,这里,这里,这里),但是这些内容解决了将内容引入RelativeView的问题,他们似乎没有解决定位问题. …
我知道这是一个相当入门级的问题,但Coldfusion评论是否由服务器处理?它们会增加应用程序的开销吗?
我问,因为我们公司有一个懒惰的程序员和不良做法引入的坏习惯,只是评论他们不再使用的代码.在我们获得SVN之前它有点意义,因为我们只有工作副本,但现在,即使我们有svn人继续只是注释掉代码.
这会增加开销吗?这可能导致其他问题吗?
我正在寻找能够帮助我学习如何设置我的网站的东西,以便当人们访问它时,有常规版本和移动版本.我遇到的问题是,我在谷歌上看到的大多数网站都是付费网站,可以帮助您进行设置.我可以只制作我的网站的两个版本并将它们加载到我的主机上吗?另外,它如何知道何时加载移动设备而不是普通移动设备?这些是我想要学习的东西,有什么地方可以提出建议吗?
我正在使用Spring Security 3.0.4.我有一堆受Spring Security保护的Web服务.当我以未经身份验证的用户身份访问它们时,Spring Security会重定向到登录页面.而不是那样,我想返回HTTP 403错误.我怎样才能做到这一点?
这是我的安全配置:
<http auto-config="false" use-expressions="true" >
<intercept-url pattern="/authorization.jsp" access="permitAll"/>
<intercept-url pattern="/registration.jsp" access="permitAll"/>
<intercept-url pattern="/api/authorization/auth" access="permitAll"/>
<intercept-url pattern="/api/authorization/new" access="permitAll"/>
<intercept-url pattern="/api/accounts/new" access="permitAll"/>
<intercept-url pattern="/app/**" access="permitAll"/>
<intercept-url pattern="/extjs/**" access="permitAll"/>
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<form-login login-page="/authorization.jsp"
default-target-url="/index.jsp"
authentication-failure-url="/registration.jsp?login_error=1"
always-use-default-target="true"
/>
<logout logout-success-url="/authorization.jsp"
logout-url="/j_spring_security_logout"
invalidate-session="true"/>
</http>
Run Code Online (Sandbox Code Playgroud) 我在apache日志中一直看到favicon警告.我怎么摆脱那些?我必须为我的网站设置一个favicon吗?
通常你想发送多个值,但由于使用率低(即它只在一两个地方使用),很难证明创建一个新类型的合理性.
该Tuple<...>
和KeyValuePair<,>
类型是非常有用的,但不是他们真正的语言支持.
好吧,一种用于元组列表的好方法是创建一个扩展List并添加自定义add方法的类型:例如
public class TupleList<T1,T2> : List<Tuple<T1,T2>>{
public void Add(T1 key, T2 value){
base.Add(Tuple.Create(key, value));
}
}
Run Code Online (Sandbox Code Playgroud)
这意味着如果我有一个方法IEnumerable<Tuple<int,string>>
,我可以使用以下代码快速建立列表,如下::
Foo(new TupleList<int,string>{{1,"one"},{2,"two"},{3,"three"}});
Run Code Online (Sandbox Code Playgroud)
这使得将值变为元组列表变得更容易,因为我们不必经常说Tuple.Create
,并且几乎使我们获得了很好的函数式语言语法.
但是当使用元组时,将它展开到不同的组件中是很有用的.这方面的扩展方法可能有用::
public static void Unwind<T1,T2>(this Tuple<T1,T2> tuple,out T1 var1,out T2 var2)
{
var1 = tuple.Item1;
var2 = tuple.Item2;
}
Run Code Online (Sandbox Code Playgroud)
但即便如此,因为输出参数根本不是变体.也就是说,如果T1是一个字符串,即使它们是可分配的,我也不能发送一个对象变量,否则就像我可以用手展开一样.我无法提出你可能想要这种差异的原因,但如果它存在,我无法理解为什么你会想要失去它.
任何人都有其他技巧来制作工作元组,或者在C#中更容易像元组一样的元组?
元组的一个重要潜在用途可能是通用的memoization.这在F#这样的语言中很容易,但在C#中却很难.
我目前正在使用Tuples提供一个MethodBase和一个标记数组(常量,对象或参数标记),提供给动态构建的对象以构造某些成员字段.
由于我想在API使用者身上简化语法,因此我创建了可以使用a ConstructorInfo
或a MethodInfo
和params对象数组的Add方法.
编辑:Eric Lippert像往常一样有很好的动机在这里使用元组,他甚至说我怀疑那里真的没有支持: 元组设计要解决的要求是什么?
我想知道github如何读取这些值?如果我可以定义自己的自定义部分,我可以看到这用于部署等.
谢谢