问题列表 - 第48720页

根据基数36将数字转换为字母数字值

通过使用$ HEX格式,可以很容易地将数字转换为基于SAS中的基数16的字母数字值.现在我正在寻找一种简单的方法来完成基数36(10个数字和26个字母).

例子:

  • 100 - >'2s'
  • 2000 - >'1jk'
  • 30000 - >'n5c'
  • 400000 - >'8kn4'

在Java中,你可以通过Integer.toString(mynumber, 36).有任何想法如何在SAS Base中做到这一点?

sas

5
推荐指数
1
解决办法
2094
查看次数

4
推荐指数
2
解决办法
1万
查看次数

UIWebView上面的背景颜色(弹跳部分)

我认为这应该不是一个大问题,但我无法自己找到解决方案.一如既往:p我有一个UIWebView,其背景颜色设置为clearColor但是当我尝试向下滚动太多时,我得到了上面加载的HTML的"弹跳区域",深灰色.我想将其更改为透明/白色.有没有办法改变这个?
Digression:我读过继承UIScrollView的类可以具有属性bounce = NO,然后它们根本不会显示弹跳区域.即使UIWebView继承了那个类,我也不想阻止它弹跳,只是"用白色反弹"可以这么说......

非常感谢,
卢卡

iphone uiwebview bounce

5
推荐指数
1
解决办法
5335
查看次数

不好的做法?它叫什么'

在PHP中,我正在考虑做这样的事情:

function foo(){
echo 'bar';
}

$fn = 'foo';

$fn();
Run Code Online (Sandbox Code Playgroud)

它有效,但它被认为是不好的做法?

我有一个多维数组元素,每个元素都有一个相应的函数.我想存储该函数名称,并在遍历数组时为每个元素调用相应的函数.

就像是:

function render_el1(){ echo 'et';}
function render_el2(){ echo 'to';}

$elements = array(
    'el_1' => array(
        'name' => 'Element One'
    ,   'func' => 'render_el1'
    )
,   'el_2' => array(
        'name' => 'Element Two'
    ,   'func' => 'render_el2'
    )
);


foreach($elements as $element => $options){
    $fn = $options['func'];

    echo '<h1>'.$options['name'].'</h1>';

    if (function_exists($fn)) {
        $fn();
    }
}
Run Code Online (Sandbox Code Playgroud)

对这种方法的任何评论都非常受欢迎,我也想知道在编程术语中调用这种方法的方法.

php

1
推荐指数
1
解决办法
137
查看次数

如何对UrlHelper自定义帮助器方法进行单元测试

我正在使用ASP.NET MVC 3NUnit.我正在尝试编写一个单元来测试我的一个辅助方法.这里是:

public static class UrlHelperAssetExtensions
{
   private static readonly string yuiBuildPath = "http://yui.yahooapis.com/2.8.2r1/build/";

   public static string YuiResetFontsGridsStylesheet(this UrlHelper helper)
   {
      return helper.Content(yuiBuildPath + "reset-fonts-grids/reset-fonts-grids.css");
   }
}
Run Code Online (Sandbox Code Playgroud)

这是我的单元测试:

[Test]
public void YuiResetFontsGridsStylesheet_should_return_stylesheet()
{
   // Arrange
   RequestContext requestContext = new RequestContext();
   UrlHelper urlHelper = new UrlHelper(requestContext);

   // Act
   string actual = urlHelper.YuiResetFontsGridsStylesheet();

   // Assert
   string expected = yuiBuildPath + "reset-fonts-grids/reset-fonts-grids.css";
   Assert.AreEqual(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)

我测试它的方法是否正确?当我在NUnit GUI中运行它时,我收到以下错误:

System.ArgumentNullException:值不能为null.参数名称:httpContext

这有可能测试吗?如果是这样,请明确说明如何获取httpContext的实例?

更新

我无法通过这项测试.在我的方法中,我有以下内容:

private static readonly string stylesheetPath = "~/Assets/Stylesheets/"; …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc nunit asp.net-mvc-3 asp.net-mvc-2

3
推荐指数
1
解决办法
3742
查看次数

指定在ObjectOutputStream中(未)序列化哪些字段而不使用transient或serialPersistentFields

有没有办法告诉ObjectOutputStream可序列化类的哪些字段应该序列化而不使用关键字transient而不定义serialPersistentFields-array?


背景:我需要使用注释来定义类的哪些成员应该被序列化(或更好:不被序列化).涉及的类必须实现接口Serializable,但不是Externalizable,所以我不想为每个对象实现序列化/反序列化算法,而只是为它使用注释.我不能使用transient关键字,因为注释需要进一步检查以确定是否应该序列化字段.这些检查必须由ObjectOutputStream(或在我自己的子类中ObjectOutputStream)完成.我也无法serialPersistentFields在每个类中定义一个-array,因为如前所述,在编译时没有定义哪些字段应该被序列化.

所以在受影响的类中唯一应该注意的是field-level(@Target(ElementType.FIELD))的注释.

在过去的几天里我尝试了很多方法,但是没有找到一个有效的方法:


ObjectOutputStream有一个方法writeObjectOverride(Object)可以用来延伸时以限定自己实现的串行化过程的ObjectOutputStream.这仅在ObjectOutputStream使用no-argument-constructor初始化时有效,因为否则writeObjectOverride永远不会调用.但是这种方法要求我自己实现整个序列化过程,我不想这样做,因为它非常复杂并且已经默认实现了ObjectOutputStream.我正在寻找一种方法来修改默认的序列化实现.


另一种方法是ObjectOutputStream再次扩展并覆盖writeObjectOverride(Object)(在调用之后enableReplaceObject(true)).在这个方法中,我尝试使用某种SerializationProxy(参见什么是序列化代理模式?)来将序列化对象封装在代理中,该代理定义了应该序列化的字段列表.但是这种方法也失败了,因为writeObjectOverride也被调用List<SerializedField> fields代理中的字段列表()导致无限循环.

例:

public class AnnotationAwareObjectOutputStream extends ObjectOutputStream {    
    public AnnotationAwareObjectOutputStream(OutputStream out)
            throws IOException {
        super(out);
        enableReplaceObject(true);
    }

    @Override
    protected Object replaceObject(Object obj) throws IOException {
        try {
            return new SerializableProxy(obj);
        } catch …
Run Code Online (Sandbox Code Playgroud)

java reflection serialization

7
推荐指数
1
解决办法
2502
查看次数

恢复R.java文件

在编译我的项目时,我丢失了我的R.java文件.

我重新创建了新项目并替换了所有我的.xml文件,.java文件以及项目中的所有图像,但在该项目中我也丢失了我的R.java文件.

该怎么做才能解决这个问题?我可以为项目重新创建我的R.java文件吗?

android r.java-file

2
推荐指数
1
解决办法
2万
查看次数

使用带有绑定变量的Execute Immediate语句时,表名称错误无效

我正在尝试让这个动态SQL运行(使用EXECUTE IMMEDIATE)

M_SQL_STATEMENT := 'SELECT MAX(:m_var1)+1 from :m_var2 RETURNING MAX(:m_var1)+1 INTO :m_var3';

EXECUTE IMMEDIATE M_SQL_STATEMENT
   USING M_COLUMN_NAME, UPPER(P_TABLE_NAME), M_COLUMN_NAME
   RETURNING INTO M_SEQ_NUMBER;
Run Code Online (Sandbox Code Playgroud)

但是,在尝试运行时,我一直在努力

ORA-00903: Invalid table
Run Code Online (Sandbox Code Playgroud)

P_TABLE_NAME是一个表名,可以作为输入接受.我已确认表名和列名有效.我无法弄清楚为什么Oracle会抛出错误.

FWIW将SQL语句更改为

M_SQL_STATEMENT := 'SELECT MAX(:m_var1)+1 SEQ from :m_var2 RETURNING SEQ INTO :m_var3';
Run Code Online (Sandbox Code Playgroud)

仍会导致相同的错误.

plsql dynamic-sql oracle10g execute-immediate

5
推荐指数
1
解决办法
6103
查看次数

从两个数据表中查找公共列,并使用LINQ中的Join条件

我有两个数据表,这些是完全动态的.这些将在运行时生成.现在我想通过查找公共列来加入这些表.

请查看以下代码以获取更多信息

public DataTable DataTableJoiner(DataTable dt1, DataTable dt2)
{
    using (DataTable targetTable = dt1.Clone())
    {
        var dt2Query = dt2.Columns.OfType<DataColumn>().Select(dc =>
            new DataColumn(dc.ColumnName, dc.DataType, dc.Expression, dc.ColumnMapping));
        var dt2FilterQuery = from dc in dt2Query.AsEnumerable()
                             where targetTable.Columns.Contains(dc.ColumnName) == false
                             select dc;
        targetTable.Columns.AddRange(dt2FilterQuery.ToArray());
        var rowData=from row1 in dt1.AsEnumerable()
                    join row2 in dt2.AsEnumerable()
                    on row1.Field<int>("ID") equals row2.Field<int>("ID")
                    select row1.ItemArray.Concat(row2.ItemArray.Where(r2 => row1.ItemArray.Contains(r2) == false)).ToArray();
        foreach (object[] values in rowData) targetTable.Rows.Add(values); 
        return targetTable;
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面我将硬编码"ID"作为公共列.我需要动态生成/识别公共列.请帮我.

c# linq datatable ado.net

3
推荐指数
1
解决办法
4582
查看次数

未定义的引用`WinMain @ 16'

当我尝试使用构建程序时Eclipse CDT,我得到以下内容:

/mingw/lib/libmingw32.a(main.o):main.c:(.text+0x106):未定义引用`WinMain @ 16

这是为什么?而且,我该如何解决这个问题呢?

c++ eclipse eclipse-cdt

103
推荐指数
4
解决办法
22万
查看次数