小编BLa*_*uRE的帖子

如何为输出添加行号,提示换行,然后根据输入进行操作?

我写了一个像这样的shell脚本:

#! /bin/sh
...
ls | grep "android"
...
Run Code Online (Sandbox Code Playgroud)

输出是:

android1 
android2
xx_android
...
Run Code Online (Sandbox Code Playgroud)

我想在每个文件中添加一个数字,如下所示:

    1 android1 
    2 android2
    3 XX_android
    ...
    please choose your dir number:
Run Code Online (Sandbox Code Playgroud)

然后等待用户输入行号x,脚本读回行号然后处理相应的目录.我们怎么能在shell中做到这一点?谢谢 !

linux shell

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

搜索共享文件的git分支

我想在git分支中搜索我和所有其他文件之间共同修改的文件,作为早期冲突检测的方法.有没有一种方法让git允许我这样做,我忽略(或通过shell脚本)?

我现在想到的方法是作为post-commit钩子:

  1. git diff --name-only master在我正在的分支上执行a ,以确定我将在其他分支中搜索的所有文件(以生成冲突分支的列表)
  2. 通过远程存储库搜索/ grep'ing我在每个人的其他远程分支中获得的每个文件(在上一步中)git diff --name-only origin/<remote branch> origin/master
  3. 根据search/grep的结果返回包含一个或多个冲突文件的分支列表.

git diff git-diff merge-conflict-resolution

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

处理大类

在过去的几个月里,我最近开始用 Java 编码。我有一个 Matrix 类,它因为有很多方法而变得过于臃肿。我还有一个 SquareMatrix 类,它扩展了 Matrix,并减少了一些膨胀。

我发现 Matrix 类中的许多方法通常与矩阵相关。它具有所有基础知识,如 addMatrix(Matrix)、multiplyMatrix(Matrix)、multiplyMatrix(float),以及更复杂的方法,如 getGaussian(Matrix) 或 getLUDecomposition(Matrix)。

减少 Matrix 类中的行数有哪些选择?一个类变得非常大是正常的吗?我不这么认为......这是我应该尽早考虑并且重构很困难的事情吗?或者有简单的解决方案吗?

谢谢!


编辑:在阅读了一些回复后,我正在考虑执行以下操作:

实用程序类Matrix 包含矩阵的所有常见/基本方法

委托类(Helper/sub):

*辅助类* getGaussian(..), getLUFactorization(..), ...

子类 (扩展矩阵)SquareMatrix、LowerTriMatrix、UpperTriMatrix、...

委托似乎类似于在 C++ 中定义多个带有头文件的 .cpp 文件。仍然欢迎更多提示。


Edit2:另外,我更喜欢通过正确设计来重构,而不是快速修复。我希望它有助于未来的项目,而不仅仅是这个项目。

java class matrix cohesion

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

Java和Android中的GLUT替代方案?

我注意到GLUT仅适用于C++.我希望在Java上重用我的OpenGL代码,然后再将其移植到Android.对于这些系统,是否有任何"标准"代替GLUT?

编辑: 我实际上正在使用JOGL并且对通过Java重新实现并且不重用C++感兴趣.我对C++,Java和OpenGL有基本的了解,但还没什么特别的.我很好地试图找出关于窗口的一切,比如调整大小,着色等等.我想知道是否有什么可以帮助我使用一些(更高级的?)函数,如glutSwapBuffers(),glutDisplayFunc(),glutMainLoop( )等

java opengl glut opengl-es jogl

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

包 X 需要不可用的共享库 com.android.future.usb.accessory

出于某种原因,我收到了错误Package X requires unavailable shared library com.android.future.usb.accessory

该库包含在 Project Explorer 的项目文件夹下。[项目文件夹] -> Google API [Android 2.3.3] -> usb.jar -> com.android.future.usb -> UsbAccessory.class,UsbManager.class。

我正在使用 Google API 2.3.3 (API 10)。我需要它,因为我将它连接到 Arduino USB 主机扩展板。到目前为止,我一直在我的手机上调试,但现在我需要日志和调试信息,因为我的程序由于某种原因没有发送数据,我不知道为什么。当我将它连接到我的计算机(而不是使用 AVD)时,该程序至少会加载并执行某些操作。使用模拟器,什么都加载。

我正在使用带有 Android 4.2.2 (API 17) 的 Android 虚拟设备。

我的清单包括以下内容:

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
      <uses library android:name="com.android.future.usb.accessory"></uses-library>
      <activity android:name="ArduinoActivity" android:label="@string/app_name" android:launchMode="singleTask">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <intent-filter>
        <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
      </intent-filter>
      <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" />
      </activity>
    </application>
Run Code Online (Sandbox Code Playgroud)

更新:我已将 API 更改为 Android 3.1 (API 12)。我已将库更改为 …

usb android arduino android-emulator

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

如何使用SELECT ... INTO与JOIN?

我有以下示例代码

DECLARE 
    myRow table%rowtype 
    myVar table2.column%type
BEGIN 
    SELECT table.col1, table.col3, table.col4, table2.column
    INTO myRow 
    FROM table
    JOIN table2
    On table.col6 = table2.col1;
 END;
Run Code Online (Sandbox Code Playgroud)

我如何重构以使其成为有效的陈述?我可以以某种方式将加入的列存储到myRow或myVar上吗?

sql oracle plsql join select-into

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

如何正确使用带有Git钩子的CI脚本来压缩源代码

我有一个feature分支和一个testing分支(用于初始回归).我想testing为测试环境提供一个可用于我的分支的工作副本.但是,我需要通过脚本压缩一些源代码(不是二进制,只是优化).我可以通过post-receive Git钩子来制作这个脚本.

我正在尝试设计我的bash脚本(用于CI),因此它非常强大,并希望避免自动化导致Git冲突.我正在考虑拥有一个主存储库(origin)和一个测试环境存储库(ci_test),只是为了允许CI提交.

我正在考虑ci_test/testing推广来源.origin/testing如果需要,CI应该压缩,添加,提交,获取,合并(将其完全iff冲突),然后推送到origin/testing.

我上面的模型的问题是,当我尝试推送时,Git会抱怨,ci_test/testing因为它有一个工作副本(有意义,因为它们可能无法同步).有没有一种适当的(自动化)方法来使用Git的持续集成脚本,以便它们仍然被跟踪?

git continuous-integration branch build githooks

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

如何将主义实体管理器注入Symfony 4 Service

我有一个控制器

use Doctrine\ORM\EntityManagerInterface:
class ExampleController{
   public function someFunction(ExampleService $injectedService){
       $injectedService->serviceFunction();
    }
}
Run Code Online (Sandbox Code Playgroud)

有服务

use Doctrine\ORM\EntityManagerInterface;
class ExampleService{
    public function __construct(EntityManagerInterface $em){
        ...
    }    
}
Run Code Online (Sandbox Code Playgroud)

但是,someFunction()由于传递了0个参数(未注入EntityManagerInterface),导致调用失败。我正在尝试从服务中使用EntityManager。自动接线功能已开启。我已经尝试过Symfony3的解决方案,但是除非我缺少某些东西,否则它们似乎无法工作。

编辑:这是我的services.yaml:

services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: false 

    App\:
        resource: '../src/*'
        exclude: '../src/{Entity,Migrations,Tests,Kernel.php}'

    App\Controller\:
        resource: '../src/Controller'
        tags: ['controller.service_arguments']
Run Code Online (Sandbox Code Playgroud)

doctrine symfony symfony4

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